我们都知道,在JS,字符串的长度是不是分为中文和英文字符,每个字符的长度,这是不一样的所有()函数strlen()函数的PHP,PHP积累每2中国在GBK汉字根据字符集和积累的每一个UTF-8的汉字3。

有些童鞋可能会问,你为什么要计算实际长度呢

其主要目的是匹配数据库的长度。例如,GBK数据库varchar(10),这相当于5个汉字,一个汉字等于两个字母。如果数据库是UTF8,每个汉字的长度是3。

在了解了上述原理之后,我们就可以计算字符串的实际长度了。如果GBK字符集符合中国加2,如果是utf8的字符集,这将增加中国3。

GBK长度计算功能:

复制代码代码如下所示:

实际计算长度 / / GBK字符集

功能getstrleng(STR){

无功reallength = 0;

VaR len = str.length;

var字符码= 1;

对于(var i = 0;i < i;i + +){

字符码= str.charcodeat(我);

如果(字符码> = 0字符码< = 128){

reallength = 1;

其他{ }

如果长度是中文/ 2

reallength = 2;

}

}

返回reallength;

}



UTF8长度计算功能:

复制代码代码如下所示:

实际计算长度 / / UTF8字符集

功能getstrleng(STR){

无功reallength = 0;

VaR len = str.length;

var字符码= 1;

对于(var i = 0;i < i;i + +){

字符码= str.charcodeat(我);

如果(字符码> = 0字符码< = 128){

reallength = 1;

其他{ }

如果长度是中文/ 3

reallength = 3;

}

}

返回reallength;

}