欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mysql 中文出现乱码解决方法

程序员文章站 2022-07-14 19:22:04
...

问题:
mysql 创建完表之后插入中文数据,中文数据乱码
如下图片所示
mysql 中文出现乱码解决方法
解决方法:
(1) 查看mysql_server 字符集

show variables like 'character%'; 

这时候mysql_server 显示为latin字符集,不支持中文

mysql 中文出现乱码解决方法
(2) 修改mysql 配置文件,让mysql_server支持的字符集改为utf8
移动 /usr/share/mysql/my-huge.cnf 文件,并改名称为my.cnf
再修改内容如下:
mv /usr/share/mysql/my-huge.cnf /etc/my.cnf

[client]
default-character-set=utf8
[mysqld]
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
[mysql]
default-character-set=utf8

mysql 中文出现乱码解决方法
mysql 中文出现乱码解决方法
(3)修改完之后重新启动mysql

service mysql restart

(4) 修改字符乱码的库,表的字符集为utf8

mysql> alter database mydb character set 'utf8';
mysql> alter table mytbl convert to  character set 'utf8';

(5) 这时候再查看表内容,发现还是乱码,
这是因为修改了字符集也修改不了原来汉字的字符集
只能保证之后插入的不乱码
这时候只能update 修改了

update mytbl  set name ="张三" where id =1

这样就把之前乱码手动修改了
之后插入的中文因为修改了字符集也不会乱码了

相关标签: mysql