【发布时间】:2018-08-25 06:23:19
【问题描述】:
我正在尝试迭代一个包含西里尔字符的字符串并执行连接,但我的代码返回了错乱的文本。
代码如下:
$str = "слово";
$temp = "";
for ($i = 0; $i < strlen($str); $i++) {
$temp.=$str[$i];
echo $temp . '<br>';
}
echo $temp;
输出:
�<br>с<br>с�<br>сл<br>сл�<br>сло<br>сло�<br>слов<br>слов�<br>слово<br>слово
期望的输出:
с<br>сл<br>сло<br>слов<br>слово<br>слово
我也尝试使用mb_strlen() 而不是strlen(),但这也不起作用。
【问题讨论】:
-
UTF-8 一直通过?这些是多字节字符。使用
mb_函数。你不能简单地通过字符串[$i]。
标签: php string substring cyrillic multibyte