我应该使用mb_*或iconv_*功能多字节串?
题
作为我们所有的现在,处理多串不是那么容易在PHP.例如,我想要得到的长度以下string: ä
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支持更多编码,但是小便携式。
从介绍:
PHP支持多字节中的两个 扩展:iconv和mbstring
- iconv使用外部图书馆(支持更多编码,但小 便携式)
- mbstring有图书馆捆绑PHP(小的编码,但更多 便携式)
不隶属于 StackOverflow