如何从mysql utf8导出csv

Bla*_*ite 9 php mysql utf-8

我想直接从mysql导出csv命令

SELECT .... 
FROM ...
INTO OUTFILE '/tmp/export.csv' 
FIELDS TERMINATED BY ',' 
ESCAPED BY '\\'
LINES TERMINATED BY '\n' ;
Run Code Online (Sandbox Code Playgroud)

这个工作完美,但编码不是utf8.如何使内容导出utf8编码?

egg*_*yal 19

SELECT ... INTO语法下所述:

SELECT ... INTO OUTFILE是补充LOAD DATA INFILE.列值将写入转换为CHARACTER SET子句中指定的字符集.如果不存在此类子句,则使用binary字符集转储值.实际上,没有字符集转换.如果结果集包含多个字符集中的列,则输出数据文件也将如此,您可能无法正确重新加载文件.

语法记录在SELECT语法下:

    [INTO OUTFILE 'file_name'
      [CHARACTER SET charset_name]
Run Code Online (Sandbox Code Playgroud)

因此:

SELECT .... 
FROM ...
INTO OUTFILE '/tmp/export.csv'
CHARACTER SET utf8 
FIELDS TERMINATED BY ',' 
ESCAPED BY '\\'
LINES TERMINATED BY '\n' ;
Run Code Online (Sandbox Code Playgroud)

  • 另请注意,MySQL 的“utf8”字符集不处理 4 字节 unicode 字符。如果您的 utf8 导出导致某些字符出现错误,请改用“CHARACTER SET utf8mb4”。 (2认同)