2012-03-07 11 views
2

ファイル内の特殊文字を書く、ここに私のコードですは私が.EPSファイル内のデータを記述しようとしています

header('Content-Type: text/html; charset=utf-8');'

$var = 'ê';

echo $var;

$file = 'test.eps';

file_put_contents($file, $var);

しかし、私はtest.epsを開くと、書き込まれたデータがêそれはê

私はあなたがいずれかを扱っていると信じて...

+0

ソースファイルのエンコードがUTF8に正しく設定されていますか?テキストエディタでチェックしてください。 –

+0

どのようにファイルを開きますか?おそらく、それは正しく保存されますが、あなたのビューア(ヴィムなど)に間違って表示されます。あなたのファイルはどのようなシステムにありますか? Unix、Windwos – DKSan

+0

Windows上にある...ワードパッドでファイルを開くと、テキストもそこに変換されます... – Salman

答えて

3

を助けてくださいされている必要がありますされています

  1. 文字エンコーディング
  2. file_put_contentsのデフォルトのエンコーディングはutf8なので、そこに問題はないはずですが、OSやディストリビューションが干渉している可能性があります。どのOS /ディストロ/バージョンを使用していますか?コメントから

編集 は、それはあなたのテキストエディタでの問題のように聞こえます。適切なプログラミングテキストエディタを使用してファイルの新しいコピーを作成してみてください。 https://stackoverflow.com/questions/173112/best-lightweight-ide-text-editor

+0

ファイルをtxtとして保存すると、うまく動作しますが、.epsファイルに問題があります...作業中Windows上で – Salman

+1

あなたが選択したファイル拡張子は物に影響を与えるべきではありません。おそらく、あなたのツールチェーンの一部が非UTF8ファイルを作成している可能性があります。 ['file'](http://gnuwin32.sourceforge.net/packages/file.htm)のようなプログラムを使って、あなたのファイルがUTF-8であるかどうかを調べることができます。 Fwiw私はOS Xでこれを試して、うまくいきました。私のローカル 'test.eps'で' file'を実行すると、 'test.eps:UTF-8 Unicode text、行終端子なし'が返されます。 –

+1

もう1つの可能性は、忘れてしまったのは、あなたが 'test.eps'ファイルを開いているプログラムがファイルをUTF8以外のものとして解釈しているということです。また、(これが問題なのかどうかはわかりません)、notepad.exeやwordpad.exeを使わないでください。文字エンコーディングの細かい問題を扱う人は信頼できません。 –

関連する問題