mysql 在使用时出现编码错误的问题

在MySQL的安装过程中,出于一些原因,安装完成后的MySQL默认编码方式是Latin1,不是中英文兼容性比较好的utf8编码方式,那么,在操作过程中会输入中文将出现一系列的报错

just like this:

ERROR 1366 (HY000): Incorrect string value: '\xE6\x96\xB0\xE9\x97\xBB...' for column 'title' at row1

 

如何解决这令新手头疼的错误呢?

很简单,可以先查看一下mysql的编码,在MySQL命令行输入:show variables like 'character%';

回车,你会看到MySQL的编码:

mysql 在使用时出现编码错误的问题_第1张图片

 

我的是修改过后的编码,如果没修改,很多编码是Latin1;这也是导致错误的原因

修改方法

在windows中:

首先打开MySQL的安装文件夹,用windows的记事本打开其中的My.ini文件进行编辑:

mysql 在使用时出现编码错误的问题_第2张图片

 

在记事本中用查找功能(CTRL+f)找到所有的含“character-set”的配置项,将其右端的值统一改成utf8后保存退出记事本;(记住不要改成utf-8)

最后重启服务器即可

 

 

在Linux中:

在/etc/mysql/my.cnf配置文件中进行更改:

mysql 在使用时出现编码错误的问题_第3张图片

 

 

更改如下内容:(前两行配置文件本来就有)

mysql 在使用时出现编码错误的问题_第4张图片

ps:最后一行应该是utf8_general_ci

提示:在vi编辑器中要强行修改只读文件的内容,最后保存时可能遇到无法保存退出的情况,在命令模式下输入:":w !sudo tee %"就可以保存退出啦 

最后重启服务器就可以了

因为之前创建数据库使用的Latin1,如果方便的话可以删除重新建一个,这样它的默认编码就是utf8,否则使用alter命令动态修该表的编码方式也可以:

命令如下:

ALTER TABLE '表名' DEFAULT CHARACTER SET utf8;

最后就没有问题啦

2019-10-12

你可能感兴趣的:(mysql 在使用时出现编码错误的问题)