利用以上汉字与英文的差异,我们就可以利用mb_strlen函数与strlen函数分别计算出两组长度数字,然后根据规律进行运算即可判断出字符串的类型了
先讲一下strlen与mb_strlen是求字符串长度的函数
代码如下 | |||||
//测试时文件的编码方式要是UTF8 $str='中文a字1符'; echo strlen($str).' echo mb_strlen($str,'utf8').' echo mb_strlen($str,'gbk').' echo mb_strlen($str,'gb2312').' ?> PHP内置的字符串长度函数strlen无法正确处理中文字符串,它得 到的只是字符串所占的字节数。对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是3倍的差异了(在 UTF-8编码下,一个汉字占3个字节)。 例
|