mysql 中utf8编码存放中文汉字问题

时间:2023-01-05 11:18:25

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