For pages already specified (either by HTTP header, or by meta tag), to have a Content-Type with a UTF-8 charset… is there a benefit of adding accept-charset="UTF-8"
to HTML forms?
(I understand the accept-charset
attribute is broken in IE for ISO-8859-1, but I haven't heard of a problem with IE and UTF-8. I'm just asking if there's a benefit to adding it with UTF-8, to help prevent invalid byte sequences from being entered.)
Best Answer
If the page is already interpreted by the browser as being UTF-8, setting
accept-charset="utf-8"
does nothing.If you set the encoding of the page to UTF-8 in a
<meta>
and/or HTTP header, it will be interpreted as UTF-8, unless the user deliberately goes to the View->Encoding menu and selects a different encoding, overriding the one you specified.In that case,
accept-encoding
would have the effect of setting the submission encoding back to UTF-8 in the face of the user messing about with the page encoding. However, this still won't work in IE, due the previous problems discussed withaccept-encoding
in that browser.So it's IMO doubtful whether it's worth including
accept-charset
to fix the case where a non-IE user has deliberately sabotaged the page encoding (possibly messing up more on your page than just the form).Personally, I don't bother.