奇怪的字符串使用Ascii字符时

时间:2014-12-30 14:08:02

标签: php string compression

$txt = $_POST['name'];// in firefox I can see 0© when a post is made = correct

// then the weird part begins

// page encoding  = utf 8

var_dump($txt); // string '0©' (length=3)

var_dump(  '0©' )  ;

string '0�' (length=2)
  1. 为什么他们有不同的长度,都是字符串,不知何故,©实体在帖子请求中占用2个字符。
  2. 为什么第一个显示corectly而第二个没有
  3. 如何解决这个问题?
  4. 我正在为字符串创建一个压缩算法,我需要asci chars而不是html实体。

1 个答案:

答案 0 :(得分:0)

所以我回过头来猜测©正在拿2个字符。

然后我var_dump(substr('0©',1,2));我确认了我的怀疑。

问题是我用substr('0©',i,2)裁剪字符串;

问题解决了。

$ letter = mb_substr($ text,$ i,2,'UTF-8');解决了我的问题