2013-02-20 181 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