Как правило, опускать ;charset="utf-8"
, когда тип содержимого application/x-www-form-urlencoded
?
В частности, при использовании accept-charset="utf-8"
в теге формы я бы ожидал некоторого указания на то, что utf-8 используется в заголовках, но я не вижу его.
Вот мой простой тест в Chrome. Страница формы:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
</head>
<body>
<form method="POST" action="printenv.cgi" accept-charset="utf-8">
Your name:
<input name="name" type="text" size="30">
</form>
</body>
</html>
И заголовки для сгенерированного запроса:
POST /printenv.cgi HTTP/1.1
Host: ...:8000
Connection: keep-alive
Content-Length: 19
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Origin: http://...:8000
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Referer: http://...:8000/utf8-test.html
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Что означает соглашение о том, как кодировать значения параметров формы?