问题的变音符号和mb_substr
题
我切片unicode字符串使用mb_substr
功能变音符号,但它的工作原理是,我会用简单的substr
功能。它分裂成两半显示问题显着金刚石Unicode字符。
E.g。
echo mb_substr('ááááá', 0, 5); //Displays áá�
什么可能是错误的?
解决方案
我有同样的问题,如果我不指定编码的最后一个参数,以 mb_substr
:在它的默认值,至少我的服务器上,以ISO-8859-1
。
,点击
但是,如果我正确设置编码,以UTF-8
,它的工作原理确定:
echo mb_substr('ááááá', 0, 5, 'UTF-8');
获取右显示在浏览器:
ááááá
,点击
请参阅 mb_substr
(引用,重点煤矿):
string mb_substr ( string $str , int $start [,
int $length [, string $encoding ]] )
在
encoding
参数是 字符编码。 如果它是 省略,内部字符 编码值将被使用强>
其他提示
我有同样的问题和上面的答案帮助我了。除了设置php.ini
或使用 ini_set()
,可能也有助于使用mb_internal_encoding('utf-8');
( utf-8
可以在你的选择来代替),用于设置永久编码多字节功能。
不隶属于 StackOverflow