Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php substr不';utf8不能正常工作_Php_Mysql_Utf 8_Right To Left_Substr - Fatal编程技术网

Php substr不';utf8不能正常工作

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方法访问字符串的前20个字符。它在正常情况下工作正常,但在使用rtl语言(utf8)时,它给出了错误的结果(显示了大约10个字符)。我在网上搜索过,但发现它对解决这个问题很有用。这是我的代码行:

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个小时。再次感谢:)