mysql数据库汉字显示乱码

更新时间:02-10 教程 由 鬓上 分享

在使用mysql数据库时,经常会遇到汉字显示乱码的问题。

造成这个问题的原因主要有两个:

1.数据库的字符集不一致

# 查看数据库的默认字符集show variables like 'character_set_database';# 查看表的默认字符集show create table;

如果数据库或者表的字符集与实际存储的数据不一致,就会出现乱码。

2.连接数据库的编码与数据库字符集不一致

# 查看当前连接的编码show variables like 'character_set_connection';# 修改连接编码(如改为utf8)set character_set_connection=utf8;

如果连接数据库的编码与数据库字符集不一致,也会出现乱码。

解决汉字乱码问题的方法:

1.简单粗暴的方法,把数据库和连接编码都改为utf8或者utf8mb4(包含emoji表情)。

# 修改数据库字符集alter databasecharacter set utf8;# 修改表的字符集alter tablecharacter set utf8;# 修改连接编码set character_set_connection=utf8;# 或者set names utf8;

2.对于已经存储的数据,可以使用iconv等工具进行转码。

# 将gbk编码的字符串转换为utf8编码iconv -f gbk -t utf8< source.txt >target.txt

总之,为了避免汉字乱码问题,我们在创建数据库、表和连接数据库的时候,一定要注意字符集设置和编码设置。

声明:关于《mysql数据库汉字显示乱码》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2080309.html