MySQL基本函数的使用中,关于汉字长度有些小疑问。
定义表的时候讲,比如VARCHAR(1)中的1为1个字符,
使用函数的时候讲,LENGTH(1个汉字)为3个字节,
那么VARCHAR(1)的1个字符所对应的就是3个字节喽?也就是汉字可以写1个,英文可以写3个?
17
收起
正在回答
1回答
同学你好,在不同的编码下,一个字符对应的字节是不同的,比如
英文字母在GBK的编码下一个字符对应一个字节,在UTF-8下,一个字符对应一个字节,在UFT-16编码下,一个字符对应4个字节。
汉字在GBK编码下一个字符对应2个字节,在UTF-8下,一个字符对应3个字节,在UFT-16编码下,一个字符对应4个字节。
如上所示,是不同编码下内容的解析,并不是所有都是一个字符对应3个字节。
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星