今天对mysql数据库进行操作时,发现始终存不进数据库,搞了很久才发现这张表字符长度为VARCHAR(20),而我存入的汉字超过了7个!
经过查询才知道汉字字符转换问题,以前也知道,但是并没有引起注意。
干货如下:
只适用mysql5.0以上的版本:
1.一个汉字占多少长度与编码有关:
UTF-8:一个汉字=3个字节
GBK:一个汉字=2个字节
2.varchar(n)表示n个字符,无论汉字和英文,MySQL都能存入n个字符,仅是实际字节长度有所区别
3.MySQL检查长度,可用SQL语言:
select LENGTH(fieldname) from tablename 来查看
本文讲述了在使用MySQL数据库存储汉字时遇到的问题及解决方法。重点介绍了不同编码下汉字占用的字节数,解释了VARCHAR类型的存储特性,并提供了一个检查字段长度的SQL语句。


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



