关于Mysql乱码的小笔记

    开始时候插入中文乱码  甚至插入报错Incorrect string value: '\xE6\x8C\xAA\xE5\xA8\x81...' for column 'typeName' at row 1 

然后网上搜了搜   设置了 服务端字符编码utf8如下 在mysql的my.cnf配置文件中配置

然后看了下编码 

SHOW VARIABLES LIKE '%char%';

如下没毛病

然后 向表中插入数据(包含中文的数据)仍然会报错  Incorrect string value: '\xE6\x8C\xAA\xE5\xA8\x81...' for column 'typeName' at row 1 

特喵折腾了很久 最后发现 是因为创建表的时候 我没设置编码 建表语句是这样的

这里编码并不是utf8

于是我执行语句    ALTER TABLE t_blogType CHARACTER SET utf8;

修改了标的编码如下为utf8了

但是  但是 但是 插入中文还是会报错 我擦 搞不懂 后来发现

虽然表的编码改了 但是列的 编码没改 没改 没改 所以 才会报错 最后 执行了 语句

ALTER TABLE `t_blogType` CHANGE `typeName` `typeName` VARCHAR(400) CHARACTER SET utf8 NOT NULL; 
把要插入中文数据的列编码改了 我擦 最后 插入成功了 !!!!!!!

  写着博客 想为自己做个笔记 同时也为mysql新手朋友提供一个细节的东西!!!!!!!!!!!!!!!

猜你喜欢

转载自blog.csdn.net/kevin_virus/article/details/81287857