3

就像我们现在一样,在 PHP 中处理多字节字符串并不是那么容易。例如,我想获取以下字符串的长度:ä

strlen('ä'); // 2, because ä equals 2 bytes
mb_strlen('ä', 'UTF-8'); // 1
iconv_strlen('ä', 'UTF-8'); // 1

我应该使用哪些功能?mb_* 还是 iconv_*?为什么?考虑到编码可能不限于UTF-8。

提前谢谢!

4

1 回答 1

5

看看这个PowerPoint演示文稿:

http://www.nyphp.org/content/presentations/smallworld/April2006-nyphp-Presentation.ppt

简而言之:Iconv 支持更多编码,但便携性较差。

从介绍:

PHP 在两个扩展中支持多字节:iconv 和 mbstring

  • iconv 使用外部库(支持更多编码,但可移植性较差)
  • mbstring 将库与 PHP 捆绑在一起(编码更少,但更便携)
于 2009-07-04T19:00:03.170 回答