为什么 substr() 对阿拉伯字符串的计数错误?
why substr() wrong counts for Arabic string?
我有一个包含 9 个阿拉伯字符的 php 变量。但是当我在substr()
中设置9
时,输出的是4
字符。为什么 ?我该如何解决?
here 是我的演示。
这是我的代码:
$str = 'سلام جهان';
// the number of character: 9 character {س|ل|ا|م| |ج|ه|ا|ن}
echo substr($str, 0, 9);
// output: سلام
?>
尝试使用等效的多字节:
mb_internal_encoding("UTF-8");
$string = "سلام جهان";
$mystring = mb_substr($string,5,1);
echo $mystring;
您还可以使用 my_substr 设置标志:
mb_substr($string, 5,1, "utf-8");
我有一个包含 9 个阿拉伯字符的 php 变量。但是当我在substr()
中设置9
时,输出的是4
字符。为什么 ?我该如何解决?
here 是我的演示。
这是我的代码:
$str = 'سلام جهان';
// the number of character: 9 character {س|ل|ا|م| |ج|ه|ا|ن}
echo substr($str, 0, 9);
// output: سلام
?>
尝试使用等效的多字节:
mb_internal_encoding("UTF-8");
$string = "سلام جهان";
$mystring = mb_substr($string,5,1);
echo $mystring;
您还可以使用 my_substr 设置标志:
mb_substr($string, 5,1, "utf-8");