最近在数据库中发现乱码的问题,问题如下图片:
以上问题解决办法为:
通过全局设置字符编码:
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