2013-02-20 179 views
1

我试图将数据从mysql数据库导出到CSV文件,但泰文内容显示为????s。另外,在数据库中,它不会输入任何内容。如果我输入ปดิวรัดา,它的节省为ปดิวรัดา将MySQL数据导出为CSV,支持泰语支持

请帮助我。

编辑:现在,我编辑表和字段编码utf8_general_ci及其存储数据,因为我进入数据库,但仍存在导出问题。我们写

原始代码是在这里

+3

数据库的编码是什么? – vikingmaster 2013-02-20 13:06:41

+0

检查链接http://kunststube.net/encoding/ – 2013-02-20 13:07:14

+0

你如何打开导出文件来检查其内容? – ppeterka 2013-02-20 13:08:15

回答

0

设置你的数据库编码utf8_general_ci

此外,检查用绳子您的列有编码utf8_general_ci

+0

你好, 我刚才改变了数据库编码和列编码为'utf8_general_ci',现在它存储数据,因为我进入,但是当我尝试导出,它仍然显示我???? ...什么编码格式我应该设置在标题('Content-Type:text/csv;');'? – Jhansi 2013-02-20 13:15:36

+0

是的,你可以设置标题。将您的csv文件编码为utf-8。必须有一些选择来做到这一点。 – vikingmaster 2013-02-20 13:30:15

+0

我已经将它设置为utf-8,但是当我这样做时,它将返回?????而不是字符。 – Jhansi 2013-02-20 13:31:14

0

一下添加到开始如果$buffer要导出:

$buffer = chr(239) . chr(187) . chr(191) . $buffer; 

的编码是UTF与BOM,增加这将增加的BOM。

+0

这增加了额外的字符在末尾像'??' – Jhansi 2013-02-20 13:25:55

+0

把它放在标题: 'header('Content-Encoding:UTF-8;'); header('Content-Type:text/csv; charset = UTF-8;'); header('Content-Transfer-Encoding:binary'); header(“Content-Disposition:attachment; filename = file.csv”); header(“Pragma:no-cache”); header(“Expires:0”);' – 2013-02-20 13:27:05

+0

它返回?????,我认为我们需要将UTF-8更改为像'utf8_general_ci' – Jhansi 2013-02-20 13:30:27