大家都知道,在JS中字符串的長度不分中英文字符, 每一個字符都算一個長度,這跟PHP里的strlen()函數就不太一樣。PHP里的strlen()函數根據字符集把GBK的中文每個2累加,把UTF-8的中文字符每個按3累加。
有些童鞋可能要問了,為什么要計算實際長度?
主要是為了匹配數據庫的長度范圍內,比如GBK的數據庫某字段是varchar(10),那么就相當于5個漢字長度,一個漢字等于兩個字母長度。如果是UTF8的數據庫則是每個漢字長度為3。
知道了以上原理以后,我們就可以算出一個字符串的實際長度了,如果是GBK字符集遇到中文加2,如果是UTF8字符集遇到中文加3即可
GBK長度計算函數:
新聞熱點
疑難解答