-1

utfは「保存方法」を表すものであることはすでに知っていますが、長さが可変であるため、Webに役立つという利点があります。

Q#1

1)私が宣言するとき

<meta http-equiv="Content-Type"    content="text/html; charset=utf-8" />

それは

  • HTMLファイル自体は どのようにハードドライブに保存されますか?

  • または- ドキュメントをクライアントに送信するにはどうすればよいですか(ドキュメント内のすべての文字はutf 8文字としてダウンロードされますか?)

  • または-ユーザーがフォームに入力して送信する場合-ブラウザはフォームinput+htmlの各文字をサーバーにどのように送信する必要がありますか

Q#2

2)utf-8にすべてを含めることができる場合、なぜ私はいつか見るのcharset=windows-1255"ですか?なぜ彼らはいつも使っutf8て楽しんでいるとは限らないのですか?

4

2 に答える 2

1

Q1。meta content-typeは、サーバーから受信したバイトを解釈する方法をブラウザーに指示します。metaタグで指定されたエンコーディングでファイルを保存するのはあなた次第です。サーバーはヘッダーに文字セットを設定する場合Content-Typeがありますが、ファイルのエンコーディングを検出する100%信頼できる方法がないため、これは実際のファイルと一致しない場合があります。ファイルのバイトは、文字セットに関係なく同じように転送されます。

http://www.w3schools.com/tags/att_form_accept_charset.aspによると、ページのコンテンツタイプは、ブラウザがページからフォームを投稿するときにデータをエンコードするために使用する文字セットにも影響を与える可能性があります。

Q2。良い質問。文字セットはまだかなり誤解されていると思います。そのため、エンコードが開発者によって定義されたヘッダーと一致しないことは珍しくありません。レガシーアプリはUTF-8を書き込めない場合があります。また、UTF-8の同等の文字がより多くのバイトを使用する場合に、特定の8ビット文字セットを使用すると、バイトが節約されます。たとえば、ユーロ記号は、Windows-1252では8ビットを使用して表すことができますが、UTF-8では24ビットで表すことができます。

于 2012-12-26T00:08:47.727 に答える
1

文字セットの宣言はContent-Type、受信したテキストがどの文字セットでエンコードされているかをクライアントに示すものです。クライアントは、生のバイトと文字セット宣言を格納しているかどうかに関係なく、使用されているエンコードに関係なく、ドキュメントに関して適切なアクションを実行する必要があります。または、テキストをニュートラル文字セットにデコードするなど。

于 2012-12-25T21:47:01.890 に答える