之前学MySQL,安装了5.7.24版的MySQL,为了追求SQL语句的纯粹性(也是为了图省事),直接在CMD框中登录MySQL,结果掉进了字符集的坑,以下是我的解决方法,希望对您有用。
登录上Mysql 后,执行 命令 \s ,通常需要的字符集是UTF-8,但往往有几个参数的字符集为 GBK 这会导致在使用Mysql的过程中出现数据无法添加或显示出现乱码等问题,解决这一问题的方法就是设置字符集,本文提供了两种参考方案,希望对你有用
方法一:通过修改配置文件,这里我使用的是MySql 5.7.24,配置文件为my.ini,通常在Data目录下,退出MySql,进入该文件(修改前建议先备份)
进行如下配置:
1.
[client]
default-character-set = utf8
2.
[mysql]
default-character-set = utf8
3.
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8
collation-server = utf8_unicode_ci
init_connect=’SET NAMES utf8’
4.
修改完成后,保存退出,重启MySql57服务
5.
再次登陆MySql,执行命令 \s 所有xxxxxx characterset 参数变为utf8 则修改成功,这种方法即使退出后再次登陆依然有效
方法二:通过Sql 命令临时修改,退出后下次登陆又恢复默认,适合短时修改
1.登陆MySql后,执行\s (status亦可)
set character_set_【需要修改的参数】=utf8;(此命令一次只能修改一个参数,也可用于改为其他字符集的情况)
补充说明:cmd 界面登陆的MySql,则可能出现执行 \s命令后,字符集已经设置为utf8,但是查询时还是会出现乱码以及添加中文记录时报1366错误,这是因为cmd的字符集也需要设置。
解决方法:在MySql界面执行exit退出到cmd界面,执行命令 chcp 65001(修改cmd字符集为utf8),然后重新登陆Mysql即可