mysql中插入中文时报错解决

在使用博客管理系统的时候,往数据库中插入标题和文章内容的时候报了错,将插入名令调出后直接在数据库管理系统中插入依旧报错

[2020-04-29 23:04:22] [HY000][1366] Incorrect string value: '\xE8\xA7\xA3\xE5\x86\xB3...' for column 'atitle' at row 1
[2020-04-29 23:04:22] [HY000][1366] Incorrect string value: '\xE5\x90\xAF\xE5\x8A\xA8...' for column 'aobjective' at row 1
[2020-04-29 23:04:22] [HY000][1366] Incorrect string value: '\xE9\xA6\x96\xE6\xAC\xA1...' for column 'acontent' at row 1
[2020-04-29 23:11:07] [HY000][1366] Incorrect string value: '\xE8\xA7\xA3\xE5\x86\xB3...' for column 'atitle' at row 1
[2020-04-29 23:11:07] [HY000][1366] Incorrect string value: '\xE5\x90\xAF\xE5\x8A\xA8...' for column 'aobjective' at row 1
[2020-04-29 23:11:07] [HY000][1366] Incorrect string value: '\xE9\xA6\x96\xE6\xAC\xA1...' for column 'acontent' at row 1

第一感觉应该是编码的问题,因为我使用英文插入做测试时是完全可以的,因此我更改表的编码格式

alter table score default character set utf8;

更改后,查看表的编码已经更改过来了,可是插入时候依旧报错,查看发现是列的编码没有改过来

更改代码:

alter table article(article代替你自己的表名) change  acontent(前后两个content换成你自己的列名,
及其后边的数据类型也同样换成自己的) acontent text character set utf8;

全部更改过来之后便可插入了。(注意要根据插入字符大小来设定列的类型)

原文地址:一只飞翔的章鱼

你可能感兴趣的:(技巧)