Php substr不';utf8不能正常工作
我使用substr方法访问字符串的前20个字符。它在正常情况下工作正常,但在使用rtl语言(utf8)时,它给出了错误的结果(显示了大约10个字符)。我在网上搜索过,但发现它对解决这个问题很有用。这是我的代码行:Php substr不';utf8不能正常工作,php,mysql,utf-8,right-to-left,substr,Php,Mysql,Utf 8,Right To Left,Substr,我使用substr方法访问字符串的前20个字符。它在正常情况下工作正常,但在使用rtl语言(utf8)时,它给出了错误的结果(显示了大约10个字符)。我在网上搜索过,但发现它对解决这个问题很有用。这是我的代码行: substr($article['CBody'],0,20); 提前感谢。请使用此选项,这里有额外的文本以使正文足够长。这将处理多字节字符。 如果您使用的字符串编码为UTF-8,则可能会丢失 当您尝试使用PHP substr获取字符的一部分时 功能。这是因为UTF-8中的字符不受限
substr($article['CBody'],0,20);
提前感谢。请使用此选项,这里有额外的文本以使正文足够长。这将处理多字节字符。 如果您使用的字符串编码为UTF-8,则可能会丢失 当您尝试使用PHP substr获取字符的一部分时 功能。这是因为UTF-8中的字符不受限制 对于一个字节,它们具有可变长度以匹配Unicode字符, 在1到4字节之间 您可以使用,其工作方式与substr几乎相同,但区别在于您可以添加一个新参数来指定编码类型,无论是
UTF-8
还是其他编码
试试这个:
$str = mb_substr($article['CBody'], 0, 20, 'UTF-8');
echo utf8_decode($str);
希望这对我有帮助。w它对我有用吗。我真的很感激,我找了大约3个小时。再次感谢:)