"; //12echo mb_strlen("我的名字","UTF-8") . "
"; //4echo mb_strlen("我的名字","GBK") //6?>
echo mb_strlen("我的名字") . "
"; //12echo mb_strlen("我的名字","UTF-8") . "
"; //4echo mb_strlen("我的名字","GBK") //6
------解决方案--------------------
首先你的文件编码一定是utf-8,而且你的mb_internal_encoding是类似于ISO-8859-1
然后要知道1个utf8汉字为3字节,gb是2字节,mb_strlen把多字节字算作1,所以会得出
echo mb_strlen("我的名字") . "
"; //未给定编码,按默认 ISO-8859-1 计算,一个utf8汉字为3
echo mb_strlen("我的名字","UTF-8") . "
"; //给定正确编码,一个汉字为1
echo mb_strlen("我的名字","GBK") //给定错误编码,GBK 一个汉字算2,但你的文件是utf8,所以为4 * 3 = 12字节 / 2 = 6个gbk字
?>声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
已抢186791个
抢已抢67372个
抢已抢353309个
抢已抢667708个
抢已抢122876个
抢已抢24344个
抢