我想使用命令直接从MySQL导出CSV文件
SELECT ....
FROM ...
INTO OUTFILE '/tmp/export.csv'
FIELDS TERMINATED BY ','
ESCAPED BY '\\'
LINES TERMINATED BY '\n' ;
这个工作完美运行,但编码不是utf8。如何将内容导出为utf8编码?
我想使用命令直接从MySQL导出CSV文件
SELECT ....
FROM ...
INTO OUTFILE '/tmp/export.csv'
FIELDS TERMINATED BY ','
ESCAPED BY '\\'
LINES TERMINATED BY '\n' ;
这个工作完美运行,但编码不是utf8。如何将内容导出为utf8编码?
SELECT ... INTO
语法文档所述:
语法在
SELECT ... INTO OUTFILE
是LOAD DATA INFILE
的补充。列值将被写入指定在CHARACTER SET
子句中的字符集。如果没有这样的子句,则使用binary
字符集转储值。实际上,没有任何字符集转换。如果结果集包含多个字符集的列,则输出数据文件也将如此,您可能无法正确重新加载文件。
SELECT
语法下有文档记录:
因此:
[INTO OUTFILE '<strong><em>file_name</em></strong>' [CHARACTER SET <strong><em>charset_name</em></strong>]
SELECT .... FROM ... INTO OUTFILE '/tmp/export.csv' CHARACTER SET utf8 FIELDS TERMINATED BY ',' ESCAPED BY '\\' LINES TERMINATED BY '\n' ;
SHOW CHARACTER SET;
命令获取可用字符集列表。 - BalmipourCHARACTER SET utf8mb4
。 - Balmipour