概述
在开发或者日常维护过程中,如果在恢复MySQL数据库后,数据库数据出现乱码,可以考虑通过修改数据库默认编码来解决问题。
以下示例说明如何修改MySQL的默认编码为UTF-8:
1.先查看mysql信息
#检查数据库安装位置
mysql 在哪里
# 登录数据库
mysql -u root -p 根据提示输入密码
# 检查mysql状态
mysql>状态
2.修改f文件
这里的目录是 /etc/f
vi /etc/my,cnf
#在[client ]下面加入 default-character-set=utf8 #在[ mysqld ] 下面加 character_set_server=utf8
以上修改方法由于MySQL版本不同,可能会不生效。
在实际使用中,基本上大部分的MySQL都会生效,我只遇到过一次修改不成功的情况,具体原因由于当时条件限制,暂时还没查出。
如果有人知道原因,请告诉我,我将非常感激。
另外,如果上述修改方法不起作用,请将[mysqld]下的行更改为下面一行。
default-character-set=utf8
3.重启mysql
重启命令如下:
service mysqld restart
此时登录MySQL之后,可以通过show variable like "character%"查看修改结果;如果结果和修改的目标编码一致,则表示修改成功。
以上是改为utf-8编码的演示过程,生产环境还是需要根据开发需求做相应调整。
这里注意一下,utf8mb4编码是utf8编码的超集,兼容utf8,并且可以存储4字节的表情符号字符。
因此有些生产环境会使用utf8mb4编码,这样做的好处是存储和检索数据的时候,不用考虑表情字符的编码和解码。