mysql 中文乱码问题的解决方案

数据库 waitig 428℃ 百度已收录 0评论

最近在数据库中发现乱码的问题,问题如下图片:

以上问题解决办法为:

通过全局设置字符编码:

1:先登录mysql

2:显示系统编码信息:show variables like ‘%char%’;

3:设置一下内容:

 set character_set_client='utf8';
 set character_set_connection='utf8';
 set character_set_results='utf8';

4:退出mysql,重新启动:sudo service mysqld restart

5:再次登录mysql,如果还出现乱码的话,可能你的my.cnf中没有msyql.server 或者mysql等标签:

在/etc/my.cnf中添加一下内容即可:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
character-set-server=utf8
default-character-set=utf8
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysql]
default-character-set=utf8
[mysql.server]
default-character-set=utf8

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
default-character-set=utf8
[client]
default-character-set=utf8

6:然后退出mysql重启

7:这样打开之后就不会出现乱码的问题了

当然你也可以特定的修改某个表或者字段的编码:

首先查看该数据库中的编码方式等一些其他的信息:

mysql>use test

mysql>status

下面会输出一些编码的方式信息

修改表的编码方式:ALTER TABLE `test` DEFAULT CHARACTER SET utf8;该命令用于将表test的编码方式改为utf8;

修改字段的编码方式:ALTER TABLE `test` CHANGE `name` `name` VARCHAR(36) CHARACTER SET utf8 NOT NULL; 该命令用于将表test中name字段的编码方式改为utf8


本文由【waitig】发表在等英博客
本文固定链接:mysql 中文乱码问题的解决方案
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)