フォームを含む UTF-8 エンコーディングの HTML ページを送信する場合、ブラウザが POST リクエスト ヘッダー パラメータでエンコーディングを指定しないのは正しいですか?
現在のバージョンの Firefox 18 と Internet Explorer 9 でテストしました (以下を参照)。
なぜ POST は文字セットを尊重しないのに、AJAX 要求は尊重するのですか?への回答に基づいています。tomcat 6では、HTML ページのエンコーディングを設定すると、「応答エンコーディングが UTF-8 に設定され、応答ヘッダーが UTF-8 に設定されます」。
私のテストでは、応答ヘッダーはフォーム値が UTF-8 でエンコードされていることを指定していませんでした。
これは指定通りですか?
Request: POST /demo/form.html HTTP/1.1 Accept: text/html, application/xhtml+xml, */* Referer: http://127.0.0.1:8080/demo/form.html Accept-Language: de User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0) Content-Type: application/x-www-form-urlencoded Accept-Encoding: gzip, deflate Host: 127.0.0.1:8080 Content-Length: 29 Connection: Keep-Alive Cache-Control: no-cache