表单是在windows-1252编码中提交的

时间:2013-01-07 13:10:10

标签: firefox character-encoding

我在Firefox Web控制台的JS选项卡中收到以下警告( Ctrl + Shift + K

  

表单以windows-1252编码提交,无法编码   所有Unicode字符,因此用户输入可能会损坏。为了避免这种情况   问题,应该更改页面,以便提交表单   UTF-8编码可以通过改变页面本身的编码来实现   到UTF-8或在表单元素上指定accept-charset = utf-8。 @   http://localhost:8080/myapp/login

html显式使用utf-8编码,如下所示:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />;

html(实际上是Freemarker模板)文件以前是在Windows机器上。所以我按照建议here使用recode实用程序将它们重新编码为utf-8。但我仍然看到同样的警告。

我在这里缺少什么?

Chrome的开发者工具实用程序中没有警告或错误( Ctrl + Shift + I

1 个答案:

答案 0 :(得分:11)

根据评论,很明显服务器在HTTP标头中将编码指定为ISO-8859-1。您不能在HTML中为文档本身覆盖它。但是,您可以使用form标记中的accept-charset=utf-8属性来指定表单数据提交的字符编码。

要更改HTTP标头,您需要在服务器级别执行某些操作。这可能意味着创建或编辑.htaccess文件或其他内容。

P.S。 Accept-Encoding标头与此无关。它没有指定字符编码,而是指定数据的传输编码。