今天对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 来查看