4

AnsiおよびUTF-8 で BOM なしで PHP や HTML などのドキュメントを作成し、それらを Web サーバーにアップロードすることの違いは何ですか? 両方のドキュメントにメタ UTF-8 があります。

誰かがメモ帳で簡単に書く場合は、Ansi を選択する必要があります。メモ帳は Byde-Order-Mark なしで UTF-8 を提供しないためです。

4

2 に答える 2

4

違いは、ファイルを 8 ビットのコードページで書き、それを UTF-8 に変換するのを忘れた場合、メタで文字セットが UTF-8 に設定されているため、Web ページが壊れて表示される可能性があることです。そのバグ修正を急いで適用するには、SFTP または WinSCP を使用してその場でファイルにアクセスすることはできません。

さらに、UTF-8 は Unicode であり、文字の全範囲がサポートされていますが、「ANSI」コードページではサポートされていません。すべての Unicode ドキュメントを "ANSI" コードページに変換できるわけではないため、この方法で編集することはできませんでした。

Windows のメモ帳には機能、構文の色付け、行末の書式がなく、文字セットのサポートがひどいため、真面目なコーディングに Windows のメモ帳を使用する正気な人はいません。

于 2013-08-24T11:57:05.770 に答える
3

違いは、UTF-8 と "ANSI" (さまざまな 8 ビット エンコーディングに対する Microsoft の誤称) は完全に異なるエンコーディングですが、ASCII コード範囲 0x00 から 0x7F では一致します。

「ANSI」ファイルを UTF-8 エンコードとしてラベル付けするのは正しくありません。データに実際に ASCII 文字のみが含まれている場合、またはほとんどの場合、正しいエンコーディングを指定する HTTP ヘッダーを使用してファイルが送信されている場合、エラーは目に見える影響を引き起こしません。

UTF-8 でエンコードされた HTML ファイルに BOM を使用しない理由はありません。そうではないと主張するページは、何年も前に実質的な影響をすべて失ったブラウザーに関する情報、または HTML と PHP の混同に基づいています。PHP ソフトウェアは BOM を正しく処理しないため、つまり、ファイルのコンテンツを別のファイルに挿入するときに BOM を削除しないため、PHP ファイルでは BOM が問題を引き起こす可能性があります。

Notepad は、ファイルを BOM なしで UTF-8 として保存することはできません。したがって、PHP ファイルを作成または編集するときは、 Notepad++などの他のプログラムを使用してください。メモ帳を使用する必要がある場合は、制限に適応する必要があります。「ANSI」を使用し (環境内でそれが何であるかを調べた後、windows-1252 などである可能性があります)、HTTP ヘッダーとmetaタグで宣言します。 、文字参照を使用して、「ANSI」で表現できない文字を表します。

于 2013-08-24T19:25:16.770 に答える