一、问题
开发中遇到将其它数据库数据插入到mysql数据库表中一直会报类似如下错误:
incorrect string value: '\xe6\x88\x91' for column 'name' at row 1
二、分析
1. 我先去查了两个数据库表中此字段对应的类型都是 varchar,所以不存在类型不一致导致插入报错的问题。
2. 排除字段类型不一致导致的错误后,我猜测是中文乱码问题,然后插入纯英文数据发现没有报错,所以确定了是中文乱码问题。然后网上百度发现是mysql默认的编码问题导致的中文乱码。
三、解决方案
1. 检查本地mysql安装文件目录下的my.ini配置文件,服务器和客户端的默认编码方式是否是utf8
[mysqld] # 服务端使用的字符集默认为utf8 character-set-server=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 default-character-set=utf8
2. 上一步无误后,打开命令行,输入:net start mysql ,启动mysql服务;
3. 最后,重启服务就可以了 ~
mysql> net stop mysql; mysql> net start mysql;
如对本文有疑问, 点击进行留言回复!!
MySQL-关系代数-并、交、差、等值连接、自然连接、左连接。。。
网友评论