2

私はWindowsでファイルUTF-8エンコーディングを使用しており、Windowsで使用すると、すべてが正しく表示されますが、Linuxでファイルをコピーすると、Unicode文字がぎこちなくなります。ファイルはプレーンテキストファイルです。このファイルをLinuxで読み取れるようにするにはどうすればよいですか、または正しくコピーするにはどうすればよいですか?

前もって感謝します

4

3 に答える 3

2

Apache/PHPの問題のようです

PHPの組み込みのhtmlspecialcharsメソッド(または同様のメソッド)を使用して文字列を実行していますか?その場合は、エンコーディングをUTF8に切り替える必要があります。

の代わりにhtmlspecialchars($mytext)、を使用してみてくださいhtmlspecialchars($mytext, ENT_COMPAT, 'UTF-8')


Michael Burrが指摘しているように、次の(私の以前の回答)は正しくないことに注意してください。UTF-8はBOMを必要としないか使用しません。

テキストだけの場合は、バイト順マーク(BOM)が欠落しているか、誤ったBOMでエンコードされている可能性があります。

それが正しくない場合、Linuxリーダーはそれを尊重している可能性がありますが、Windowsリーダーはそれを無視しています。Notepad++などでファイルを再度開いて再保存してみてください。Notepad ++には、UTF-8ファイルの保存に関する[フォーマット]メニューのオプションがたくさんあります。

于 2010-03-17T23:54:39.560 に答える
1

ファイルをバイナリモードで転送したことを確認してください。iconvも試してください。

于 2010-03-17T23:59:07.703 に答える
0

ファイル自体は問題ありません。パイプ内の他の何かが、ブラウザに送信される前にテキストを台無しにしています。アプリのさまざまなポイントでテキストをエコーし​​て、どの操作がテキストを壊しているかを特定します。

于 2010-03-18T01:08:24.960 に答える