php - 如何从mysql utf8导出csv

标签 php mysql utf-8

我想用命令直接从mysql导出csv

SELECT .... 
FROM ...
INTO OUTFILE '/tmp/export.csv' 
FIELDS TERMINATED BY ',' 
ESCAPED BY '\\'
LINES TERMINATED BY '\n' ;

完美运行,但编码不是utf8。如何使导出的内容为utf8编码?

最佳答案

根据 SELECT ... INTO Syntax 记录:

SELECT ... INTO OUTFILE is the complement of LOAD DATA INFILE. Column values are written converted to the character set specified in the CHARACTER SET clause. If no such clause is present, values are dumped using the binary character set. In effect, there is no character set conversion. If a result set contains columns in several character sets, the output data file will as well and you may not be able to reload the file correctly.

语法记录在 SELECT Syntax 下:

    [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' ;

关于php - 如何从mysql utf8导出csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18656001/

相关文章:

php - 如何在 cakephp 3.x 的下拉列表中选择多个值

php - 如何为 Laravel 路由参数提供选择

php查询失败 'order clause'

php - PHP 和 Mysql UTF-8(特殊字符)问题

PHP MYSQL FULLTEXT 如何进行精确搜索?

PHP 和 MYSQL - 如何检查两行或更多行是否具有相同的字段值

mysql - 合并不同表中的两列

MySQL - 使用 Join 运算符后出现重复列

mysql - 如何设置 MySQL 以正确处理 unicode 变音符号?

regex - 如何使用非拉丁词的正则表达式定义促销?