Ответ 1
Это невозможно из HTML. Самое близкое, что вы можете получить, это атрибут accept-charset
<form>
. Только браузер MSIE придерживается этого, но даже тогда он делает это неправильно (например, CP1252 фактически используется, когда он говорит, что он отправил ISO-8859-1). Другие браузеры полностью игнорируют его, и они используют кодировку, как указано в заголовке Content-Type
ответа. Установка права кодирования символов в основном полностью отвечает ответственности сервера. Клиентская сторона должна просто отправить его обратно в той же кодировке, что и сервер, отправил ответ.
К моменту, вы должны действительно полностью настроить кодировку символов со стороны сервера. Чтобы преодолеть неспособность редактировать атрибут URIEncoding
, кто-то здесь, на SO, написал (сложный) фильтр: Автоматическое обнаружение кодировки URI в Tomcat. Вы также можете найти его полезным (примечание: я его не тестировал).
Обновление:
Следует отметить, что метатег, указанный в вашем вопросе, игнорируется, когда контент передается через HTTP. Вместо этого заголовок HTTP response Content-Type
будет использоваться для определения типа содержимого и кодировки символов. Вы можете определить HTTP-заголовок, например, Firebug, на панели Net.