mysql导出数据出现乱码怎么办

我们可以利用convert函数转换编码从而解决此问题。

(推荐教程:mysql数据库学习教程)

CONVERT()提供一个在不同字符集之间转换数据的方法。

语法:

CONVERT(expr USING transcoding_name)

例如:

SELECT CONVERT(latin1field USING utf8) FROM latin1table;

在 MySQL中转换代码名与相应的字符集名相同。

举例:

学生表

993e3841519c7bbb951636d42ea2411.png

下面我们将学生表的查询结果导出到Excel文件

select * from student_grade into outfile 'D:/Files/student.xls';

此时,生成的Excel文件出现了乱码。

这是因为student表是采用utf8编码(可以用show create table student;语句查看一下),而Excel文件则是GB2312编码。

所以我们采用convert将中文字段转换成gbk编码:

select sid, convert((sname) using gbk) as sname, convert((gender) using gbk) as gender,class, convert((major) using gbk) as major from student into outfile 'D:Filesstudent.xls';

这样就不会出现乱码了。

来源:PY学习网:原文地址:https://www.py.cn/article.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » mysql导出数据出现乱码怎么办