Is there any benefit to adding accept-charset="UTF-8" to HTML forms, if the page is already in UTF-8?
Solution 1:
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 with accept-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.
Solution 2:
I did not encounter any problems using UTF-8 with IE (6+) or any other major browser out there. You need to make sure, that a UTF-8 meta tag is set (IE needs this) and that all your files are UTF-8 encoded (which means that the webserver sends UTF-8 headers). Then there should not be any problem if you omit accept-charset
.