一个汉字占多少varchar

如题所述

不同的编码里面汉字长度是不同的,
国家标准GB2312: 一个汉字=2个字节
UTF-8:一个汉字=3个字节
看你用的是哪种编码,一般常用的是utf-8,那一般就100/3=33.3,那就33个汉字。你可以测试一下。
数据库表字段为varchar(n)类型,存英文很简单,只要字母个数不大于n即可。但是对于汉字,按照同样的方法就不行了。因为对于汉字不同的字符集,在数据库占用的字节是不一样的。
UTF-8字符集,一个汉字占三个字节,gbk字符集,一个汉字占两个字节,比如varchar(10)类型的字段,UTF-8的汉字,只能存3个,gbk字符集的汉字却能存5个。所以在程序中根据表字段varchar的大小,保存或更新时作出必要的校验否则后台会报错。
MySQL 5.0以上的版本:1.一个汉字占多少长度与编码有关:    UTF-8:一个汉字=3个字节 GBK:一个汉字=2个字节2.varchar(n)表示n个字符,无论汉字和英文,Mysql都能存入n个字符,仅是实际字节长度有所区别3.MySQL检查长度,可用SQL语言:select length(字段名) from tablename 来查看
温馨提示:答案为网友推荐,仅供参考