8

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

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

html 确实明确使用了 utf-8 编码,如下所示:

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

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

我在这里想念什么?

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

4

1 回答 1

11

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

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

PSAccept-Encoding标题与此无关。它不指定字符编码,而是指定数据的传输编码。

于 2013-01-07T14:47:35.880 回答