最近在开发中碰到一个有趣的问题,在使用strlen这个函数时,针对泰语环境,这个函数得出的结果总是字符串实际长度的3倍。
strlen
仔细看了一下手册之后发现,原来strlen这个函数对待在UTF-8编码中的非字母类字符,长度都定义为3,所以会出现泰语字符串的长度,使用这个函数得出的结果是实际长度的3倍。
UTF-8
如果要避免这个问题,应该使用mb_strlen,就可以了。
mb_strlen
看来在非英文的环境中,还是多使用mb_strlen比较保险:)