如果页面已经是UTF-8,那么将accept-charset ="UTF-8"添加到HTML表单有什么好处吗?

phi*_*reo 54 html forms encoding utf-8 character-encoding

对于已经指定的页面(通过HTTP标头或元标记),要使用带有UTF-8字符集的Content-Type ...是否有添加accept-charset="UTF-8"到HTML表单的好处?

(我理解的accept-charset属性在IE打破了ISO-8859-1,但我还没有听说过有IE和UTF-8的问题.我只是问,如果有一个好处与UTF-8将它添加到有助于防止输入无效的字节序列.)

bob*_*nce 38

如果页面已被浏览器解释为UTF-8,则设置accept-charset="utf-8"不执行任何操作.

如果您在一个<meta>和/或HTTP标头中将页面的编码设置为UTF-8 ,它将被解释为UTF-8,除非用户故意转到View-> Encoding菜单并选择不同的编码,覆盖一个你指定了.

在这种情况下,accept-encoding面对用户搞乱页面编码,会产生将提交编码设置回UTF-8的效果.但是,由于此accept-encoding浏览器中讨论的先前问题,这仍然无法在IE中工作.

所以IMO怀疑是否值得包括accept-charset修复非IE用户故意破坏页面编码的情况(可能会在页面上弄乱而不仅仅是表单).

就个人而言,我不打扰.

  • 在所有浏览器上(现在和历史上),`UNKNOWN`/unset始终表示当前页面编码,无论是头文件/元组中的服务器页面编码集,还是用户显式设置为重写的编码.可能不会影响您的例外情况:大多数浏览器都不会以非ASCII-superset编码(如UTF-16)发送表单提交,即使页面是以此方式提供的.这样做并没有多大意义. (6认同)