2011-01-13 7 views
0

現在、私はより自動化されたデータベースのエクスポート作業をいくつか作成しようとしています。私はMySqlデータベースからPHPの.docファイルにデータをエクスポートすることに決めました。phpで作成するときに.docファイルのエンコードを指定しますか?

だから、新しいファイル作成/いくつかのデータベースの仕事をしてIMと$ strの変数に完全なHTMLを格納し、書き込み:

$ FP =のfopen($ファイル、 'Wを+'); fwrite($ fp、$ str); fclose($ fp);

ここでの問題は、.docファイルを作成していないが、私はダウンロードして、その.docファイルを表示するとき、それはUnicodeでいUTF-8ではありません。

+0

DOCファイル、なぜExcelやCSVでも、多分JSON – RobertPitt

+0

:あなたはUTF-8 BOMそれを確かめるためにを含むこともできるしかし

。 – arma

答えて

3

拡張子が.docのファイルをWord文書にすることはできません。

とにかく、$strとHTMLがUTF-8でエンコードされている場合は、ダウンロードしたファイルにする必要があります。それ以外の場合は、適切な形式で送付してください。

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

合理的に「ユニコード」であることはできません。その意味を説明する必要があります。確かに、UTF-8からUCS-4(4バイト生のUnicode表現のいずれか)への自動変換はありません。私は明示的にドキュメントを必要とするので

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

+1 hte *あなたはファイルに.doc ....を与えることを認識しています。* – RobertPitt

+0

はい、私は.doc拡張子がそれをワードドキュメントにしないことを知っています。処理ファイルの先頭にutf-8マーク付きヘッダが設定されています。 .docファイルをMicrosoft Wordで開くと、 "ī"のような文字が "Ä«"として表示されます。 – arma

+0

@arma - 実際の.docファイルを作成してみませんか? Woord 2007の.docxファイルが必要な場合は、PHPWordのCOMを使用してください。 –

関連する問題