MySQL插入数据(windows系统下插入中文数据出现错误)

【1】数据库插入中文出现以下错误:

Incorrect string value: '\xC0\xEE\xCB\xC4' for column 'name' at row 1

【2】原因剖析

因为,我们的Windows系统的编码是gbk编码格式,但是我的数据库的使用编码格式是utf-8,导致出现插入中文错误。

【3】解决方案

(1)治标方案

set names gbk;

仅在本窗口设置编码格式为gbk,当重新打开新的窗口的时候,插入中文还是会报错。

(2)治本方案

打开MySQL安装的目录。一般在C:\Program Files (x86)\MySQL\MySQL Server 5.5是这个目录。

在该目录中,找到my.ini文件,打开它

default-character-set=utf8 将这句话修改为 default-character-set=gbk(如果使用Notepad++打开,在第57行)

然后开启mysql。

(3)其他问题,窗口显示?现象

如果执行以上步骤之后,能够插入中文了,但是中文以“?”表示。建议使用,第三方前台软件,像Sqlyog或者navicat。

如果需要以上软件,可以私信我。

【4】补充

使用以下语句查看数据库编码格式

 show variables like '%char%';

显示结果:

| character_set_client     | utf8                                                          |
| character_set_connection | utf8                                                          |
| character_set_database   | utf8                                                          |
| character_set_filesystem | binary                                                        |
| character_set_results    | utf8                                                          |
| character_set_server     | utf8                                                          |
| character_set_system     | utf8                                                          |

其中

  • client是客户端使用的字符集。 
  • connection是连接数据库的字符集设置类型,如果程序没有指明连接数据库使用的字符集类型就按照服务器端默认的字符集设置。
  • database是数据库服务器中某个库使用的字符集设定,如果建库时没有指明,将使用服务器安装时指定的字符集设置。
  • results是数据库给客户端返回时使用的字符集设定,如果没有指明,使用服务器默认的字符集。
  • server是服务器安装时指定的默认字符集设定。 
  • system是数据库系统使用的字符集设定。(utf-8不可修改)

我们主要修改的是client、connection、results三个字符集。使用修改my.ini文件可以修改以上三个结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值