CREATE TABLE char_len_gbk (
mark varchar(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=gbk
SELECT CHARACTER_LENGTH(mark),LENGTH(mark),mark FROM test.char_len_gbk;

char_length(str)
1、单位为字符
2、不管汉字还是数字或者是字母都算是一个字符
length(str)
1、字节,utf8编码下,一个汉字三个字节,一个数字或字母一个字节。
2、gbk下,一个汉字两个字节,一个数字或字母一个字节。
length()<>char_length()可以用来检验是否含有中文字符
本文深入探讨了在GBK与UTF8编码环境下,不同类型的字符(包括汉字、数字及字母)的长度计算方式。通过创建特定的数据库表格,对比分析了char_length()与length()函数在处理字符串时的差异,揭示了如何判断字符串中是否存在中文字符的方法。
540

被折叠的 条评论
为什么被折叠?



