このリンク (http://www.w3.org/TR/html401/interact/forms.html#adef-accept-charset)でW3Cに長い間記述されているよりも、accept-charsetの方が優れています
状況を想像してみましょう。
-あなたはウェブサイトを持っています
-メタでutf-8エンコーディングを指定しました
-utf-8(ベース、バックエンドなど)で動作するようにサーバー部分を構成しました
あなたはテストしています:サイトに行き、フォームから送信してください-すべては問題ありません。 ただし、問題は多くの人が忘れていることです。
1.ほとんどの場合、ブラウザには自動エンコードがあり、サイトはサーバー側にデータを正しく投稿します
2.独自のエンコーディングを手動で設定する人がいます
3.サイトで遊ぶファンがいます
4.その他:ボット、テスト用ソフトウェアなど
FORMタグにsabzhe属性がない場合、この場合に何が起こりますか:
1.ウェブサイトを開きます
2.ブラウザでエンコードを変更し、ISO-8859-1にします
3.ロシア語でデータを入力しようとします。たとえば、ウムラウトを使用してドイツ語で入力します。 さらに進みたい場合は、スペシャルを試してください。 キャラクター
4.フォームを投稿する
5.データベース内のエントリを開き、文字がどのエンコーディングでそこに到達し、サーバー側でどのように処理されたかを確認します
回答 :ブラウザはエンコードの定義における標準と特定のシーケンスに従うため、ISO-8859-1でエンコードされたテキストが表示されます。つまり、ISO-8859-1が厳密に指定されている場合、ブラウザはISO-8859-1に従い、フォームデータを送信する
これに対処するには?
トピックの見出しを見てください。はい、FORMタグ内のaccept-charset = "utf-8"がこの問題の状況からあなたを救います。 この属性は、フォームからのデータがutf-8エンコードのみで送信され、他のデータは送信されないという必要な「知識」をブラウザに提供します
結論 :独創的なものはすべて単純ですが、情報は私たちの時代に世界を所有しています。
PS youtubeはまだ謎のままです。意図的にaccept-charsetを使用せず、代わりに同じことを行う独自の機能を使用しています(javascriptのようです)