众所周知,在PHP中处理多字节字符串并不容易。例如,我想获取以下字符串的长度:ä
strlen('ä'); // 2, because ä equals 2 bytes
mb_strlen('ä', 'UTF-8'); // 1
iconv_strlen('ä', 'UTF-8'); // 1
我该使用哪些函数?mb_* 还是 iconv_*?为什么?考虑到编码可能不仅限于 UTF-8。
提前感谢!
看一下这个Powerpoint演示文稿:
http://www.nyphp.org/content/presentations/smallworld/April2006-nyphp-Presentation.ppt
简而言之:Iconv支持更多的编码,但不太便携。