Есть ли польза от добавления accept-charset = "UTF-8" к HTML-формам, если страница уже в UTF-8? - PullRequest
54 голосов
/ 15 сентября 2010

Для страниц, уже указанных (либо по заголовку HTTP, либо по метатегу), чтобы иметь Content-Type с кодировкой UTF-8 ... есть ли преимущество добавления accept-charset="UTF-8" в формы HTML?

(Я понимаю, что атрибут accept-charset не работает в IE для ISO-8859-1, но я не слышал о проблеме с IE и UTF-8. Я просто спрашиваю, есть ли польза от его добавленияс UTF-8, чтобы предотвратить ввод недопустимых байтовых последовательностей.)

Ответы [ 2 ]

38 голосов
/ 15 сентября 2010

Если страница уже интерпретируется браузером как UTF-8, настройка accept-charset="utf-8" ничего не делает.

Если вы установите кодировку страницы в UTF-8 в <meta> и /или HTTP-заголовок, он будет интерпретироваться как UTF-8, , если только пользователь не умышленно перейдет в меню View-> Encoding и выберет другую кодировку, переопределяя указанную вами.

Inв этом случае accept-encoding будет иметь значение установки кодировки представления обратно в UTF-8, если пользователь возится с кодировкой страницы.Тем не менее, это все равно не будет работать в IE из-за предыдущих проблем, обсужденных с accept-encoding в этом браузере.

Так что ИМО сомнительно, стоит ли включать accept-charset, чтобы исправить случай, когда не-IEпользователь намеренно саботировал кодировку страницы (возможно, запутался на вашей странице больше, чем просто форма).

Лично я не беспокоюсь.

3 голосов
/ 15 сентября 2010

У меня не было проблем с использованием UTF-8 с IE (6+) или любым другим крупным браузером.Вы должны убедиться, что метатег UTF-8 установлен (IE нуждается в этом) и что все ваши файлы имеют кодировку UTF-8 (что означает, что веб-сервер отправляет заголовки UTF-8).Тогда не должно быть никаких проблем, если вы опустите accept-charset.

...