【发布时间】:2014-12-26 20:29:59
【问题描述】:
一个 php 脚本在 HTTP GET 参数中接收一个 UTF-16BE 编码的字符串。我只想统计字符串的字符数
为此,我将其转换为 utf-8
$str=iconv('utf-16be', 'utf-8', $str);
当我使用 strlen($str) 时,它返回错误的计数。我可以使用
1) mb_strlen($str, 'UTF-8');
2) strlen(utf8_decode($str));
我想知道哪个是最好的方法? 都会正确计算所有字符吗?
【问题讨论】:
-
只使用第一个变体,因为 utf8_decode 会乱码