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)