0
我知道mb_是处理UTF8字符,但它不会解决我的问题。php,mb_substr杀死Unicode字符
所以我有这个字符串:
óóóóóóóóóóóóóóóóóóóóóóóóóóóóóóó
mb_substr ($oooo, 0,17, 'UTF-8');
óóóóóóóóóóóóóóóóó& OAC
所以最后一个字符damag ES。
我知道mb_是处理UTF8字符,但它不会解决我的问题。php,mb_substr杀死Unicode字符
所以我有这个字符串:
óóóóóóóóóóóóóóóóóóóóóóóóóóóóóóó
mb_substr ($oooo, 0,17, 'UTF-8');
óóóóóóóóóóóóóóóóó& OAC
所以最后一个字符damag ES。
你的字符串不实际上
$str = 'óóóóóóóóóóóóóóóóóóóóóóóóóóóóóóó';
您的字符串实际上是:
$str = 'óóóóóóóó...';
当在浏览器看,浏览器当然会呈现“O”,但是这是对PHP没有兴趣。
最好的解决方案是让你的内容进入实际的UTF-8编码字符“óóóóóóóóóóóóóóó”,然后使用你的代码。要对您的当前字符串这项工作,您需要将HTML实体首先解码:
$str = 'óóóóóóóó...';
$str = html_entity_decode($str, ENT_COMPAT, 'UTF-8');
echo mb_substr($str, 0, 17, 'UTF-8');
你会那么当然需要采取的输出编码的小心,因为你现在实际输出UTF-8浏览器需要了解的内容。请参阅UTF-8 all the way through。
请检查(和张贴)您的字符串包含哪些**字节**。看起来,这些“ó”中的至少一些实际上是实体转义的结果,而不是unicode代码点U + 00F3(in *任何*编码)。 – delnan
提示:PHP不会呈现HTML。 –
delnan,怎么样? –