Amaze UI Logo

码动指尖



mysql修改默认字符编码

在布置项目到线上服务器的时候,突然发现返回的数据是乱码,但是接口是通了的,也没报错,于是开始debug定位,本地无此问题。那么肯定是服务器的问题了,接口通了,程序也没问题,那就是数据库有问题了,输入英文试一下,返回正确的数据,没有乱码,看来是中文乱码,定位到数据库字符编码,show variables like "%char%";查看一番,果然,是latin1,那么开始修改吧。


(1):进入mysql的安装目录,找到my-default.ini或者my.ini配置文件,你可以将my-default.ini修改成my.ini,影响不大的;


(2):我的my.ini只有一个[mysqld]标签,其他均处于注释状态,我们在my.ini里面做两件事


                在[mysqld]标签下添加:character-set-server=utf8


                增加一个[client]标签,并且在[client]标签下添加:default-character-set=utf8


(3):到任务列表中重启mysql服务;


(4):进入dos界面,登录数据库,输入命令:show variables like "%char%";


mysql> show variables like "%char%";

+--------------------------+----------------------------+

| Variable_name            | Value                      |

+--------------------------+----------------------------+

| 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                       |

| character_sets_dir       | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

8 rows in set (0.00 sec)


 mysql

作者  :  奕弈

喵喵喵,你在心上



评论


About ME

about me

奕弈

为了最初的心,努力奋斗,从不懈怠的学习。

我不想成为一个庸俗的人。十年百年后,当我们死去,质疑我们的人同样死去,后人看到的是裹足不前、原地打转的你,还是一直奔跑、走到远方的我?

Contact ME