2011-01-13 36 views
0

目前我嘗試創建一些我的數據庫導出工作更加自動化,我決定從MySql數據庫導出數據到php中的.doc文件。用php創建時指定.doc文件的編碼?

這樣的IM做一些數據庫工作,完整的HTML存儲到$ str變量,然後寫/做出新的文件:

$計劃生育=的fopen($文件, 'W +'); fwrite($ fp,$ str); fclose($ fp);

這裏的問題不是創建.doc文件,但是當我下載並查看.doc文件時,它不是UTF-8,它是unicode。

+0

一個doc文件,爲什麼不Excel或CSV甚至,甚至JSON – RobertPitt 2011-01-13 14:23:44

+0

,因爲我需要的文檔明確。 – arma 2011-01-13 14:33:58

回答

3

你知道給一個.doc擴展名的文件不會讓它成爲一個Word文檔嗎?

無論如何,如果您的$str和HTML以UTF-8編碼,那麼應該是下載的文件。否則發送一個適當的

header("Content-Type: text/html; charset=UTF-8"); 

它不能合理地「在unicode」。你需要解釋這意味着什麼。它當然不會從UTF-8自動轉換爲UCS-4(任何4字節的原始unicode表示)。

但是你可以包括UTF-8 BOM,使其某些:

fwrite($fp, pack("HHH", 0xEF, 0xBB, 0xBF));