我有以下问题。我创建了一个新的“动态 Web 项目”并将一些现有的 jsp 文件导入其中。
如果我右键单击导入的 jsp 文件之一,然后单击“属性”>“资源”,则在“文本文件编码”部分下,值为“默认(由内容类型确定:ISO-8859-1)”。不过,我在导入之前运行了 iconv 以确保它们采用 utf-8 格式:
$ iconv -f "ISO-8859-1" -t "UTF-8" from.jsp > to.jsp
所有 jsp 文件都有以下元集:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
有人知道如何更改此设置吗? Tomcat 正确地将它们作为 utf-8 (http 内容类型标头)提供服务,所以我真的不知道这会产生什么影响......
这不是一个错误,这是一个功能
Eclipse 没有通过像 shell 上的 file 或 iconv 命令一样扫描文件来“确定”正确的编码。
解决方案:将以下行添加到您的 JSP 中:
<%@ page pageEncoding="UTF-8" %>
这是一个好主意,因为许多 Web 容器将强制提供 ISO-8859-1 编码的文件,尽管您已在 HTML 标头中设置了正确的内容类型。
仅供参考:字符集和文件编码不匹配将导致
- 类似于“Schei� 编码”中的字符(UTF8(多字节)上下文中的 Latin1 字符)。
- 如果你得到类似“für”的东西,它确实是单字节字符上下文中的一个损坏的多字节字符(通常是UTF-8)(Latin1 / ISO-8859-1 || ISO-8859-15 对于德国人)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)