MySQL 数据库插入数据时报错: Incorrect string value: xxx for column ‘name‘ at row ...
·
问题描述
Incorrect string value: ‘\xE8\xBF\x99\xE6\x98\xAF…’ for column ‘name’ at row …
向数据库插入数据时,出现诸如上面的错误,多半是数据库或数据表的编码格式和本地编码工具(Idea、Eclipse等)不一样导致的。
如何解决
方法1 重新建库
如果你刚创建好数据库,还没有建数据表,那么你可以重新创建数据库,在创建数据库时添加上和编码工具中一样的编码格式,常用的是 utf8_general_ci ,建库示例如下:
CREATE DATABASE `wangzy_table` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
怎么查看编码工具的编码方式
以 Idea 为例,查找方式导航:File -> Settings… -> Editor -> File Encodings ,找到的设置 utf8 编码格式,界面如下:

方法2 更改建表的默认编码方式
同 方法1 的设置方式,不同之处在于将 “DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci” 放在建表语句中,示例如下:
create table if not exists 数据库名.`数据表名`
(
表字段设置...
) comment '表描述信息' DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
总结
总之就是,需要想方设法将数据库的建库建表语句和编码工具的编码方式设置成一样的,我上面的方式仅仅限于我所遇到的问题得到了解决,如果不能帮到你,那就另谋他法吧。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)