Czy zwyczajowo pomijamy ;charset="utf-8"
, gdy typem treści jest application/x-www-form-urlencoded
?application/x-www-form-urlencoded i charset = "utf-8"?
W szczególności, przy użyciu accept-charset="utf-8"
w znaczniku formularza, oczekiwałbym pewnego wskazania, że utf-8 jest używany w nagłówkach, ale nie widzę żadnego.
Oto mój prosty test w Chrome. Strona forma jest:
<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>
A nagłówki na wygenerowanym życzenie:
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
Co to jest konwencja o określenie, w jaki sposób wartości parametrów forma są kodowane?
Och, ciekawa ciekawostka, której nie znałem: * "Jeśli nazwa wpisu to" _charset_ ", a jego typ jest" ukryty ", należy zastąpić jego wartość zestawem znaków."* – deceze
Pamiętaj, że łączysz się ze specyfikacją ** HTML 5 **, ale zamiast tego HTML używa ** HTML 4 ** Oto algorytm przesyłania formularzy dla HTML 4: http: //www.w3 .org/TR/1999/REC-html401-19991224/interact/forms.html # h-17.13, chociaż nie mówi o obsłudze zestawów znaków.) –
Remy: typ dokumentu nie wpływa na to, co przeglądarki robią w odniesieniu do kodowania formularzy. –