strlen()
功能在PHP不能正确地返回UTF8字符的字符串lenght,例如سلام
为4字符,但使用的strlen这就是后返回8种字符UTF8字符串长度
<?php
echo strlen('سلام');
?>
strlen()
功能在PHP不能正确地返回UTF8字符的字符串lenght,例如سلام
为4字符,但使用的strlen这就是后返回8种字符UTF8字符串长度
<?php
echo strlen('سلام');
?>
核心PHP字符串功能的全部假设1个字符= 1个字节。他们没有不同的编码概念。为了弄清楚有多少字符是一个UTF-8字符串(不多少字节),使用相当于mb_strlen
,并告诉它什么编码字符串是:
echo mb_strlen('سلام', 'UTF-8');
你可以得到数的二进制PHP字符串中的UTF-8编码点(只要它是有效的UTF-8编码)(Demo):
$length = preg_match_all('(.)su', $subject);
您也可以使用多字节扩展,如果你把它安装:
$length = mb_strlen($subject, 'UTF-8');
2 ?!它应该是* 8 *。 – deceze