You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL SELECT INTO DUMPFILE导出含UTF8非英文文件名乱码问题求助

解决MySQL SELECT INTO DUMPFILE导出UTF8非英文文件名乱码问题

原因分析

Windows系统默认文件系统编码为GBK(或GB2312、GB18030),而MySQL客户端若以UTF8编码传递文件名,会与系统编码不匹配,最终导致生成的文件名乱码。

解决方法

方法1:调整MySQL客户端连接编码

执行导出语句前,先将客户端编码设置为Windows系统对应的GBK编码:

SET NAMES gbk;

随后执行导出语句,需确保文件名使用GBK编码的字符串(若原文件名是UTF8格式,需先转码为GBK再写入SQL):

SELECT data FROM table1 INTO DUMPFILE 'c:\你的非英文文件名';

注:如果通过脚本执行,需保证脚本文件编码为GBK,或提前将文件名转码为GBK后传入。

方法2:用CONVERT函数直接转码

若无法修改客户端编码,可在SQL语句中直接将UTF8文件名转换为GBK编码:

SELECT data FROM table1 INTO DUMPFILE CONVERT('c:\你的UTF8非英文文件名' USING gbk);

此方法会让MySQL自动将UTF8字符串转为GBK编码后传递给Windows系统,生成正确文件名。

方法3:改用mysqldump命令行导出

若上述方法无效,可替换为mysqldump命令行工具,通过指定编码参数规避乱码:

chcp 65001
mysqldump --default-character-set=utf8 -u 用户名 -p 数据库名 table1 --result-file="c:\你的非英文文件名"

注:执行前先通过chcp 65001将命令行窗口编码设置为UTF8,确保文件名参数被正确识别。


内容的提问来源于stack exchange,提问作者want_to_be_calm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 15:48:47