【发布时间】:2013-06-10 03:39:52
【问题描述】:
我完全感到困惑。我已经将我的 Apache 和 Tomcat 配置文件、Java Servlet 项目和 JSP 页面全部设置为“UTF-8”以支持西班牙语字符(á、í、ó 等)。我系统地遵循了文档和论坛上的所有指南。我知道我可以使用 Latin1,但由于使用 UTF-8 似乎更容易,但经过 4 天的反复试验,我决定(因为我的 servlet 仅支持西班牙字符)切换到“ISO-8859 -1",实际上大部分都在工作。
唯一的问题是当我右键单击 --> 属性时,只有我的 JSP 页面仍然显示“UTF-8”。页面指令和元标记是正确的(ISO-8859-1),但是当我在浏览器上打开它时显示“Windows-1252”。
我不知道为什么会这样。如果我切换到“UTF-8”(所有这些,包括服务器配置、Java 项目等),字符在浏览器中会出现乱码,例如:“puntuación”而不是“puntuación”。
所以,为了解决这个问题......
有谁知道如何正确实现 UTF-8 并使西班牙字符在任何地方都能使用?
或
有人知道如何将 JSP 页面更改为“ISO-8859-1”吗?现在,属性窗口是 UTF-8,@page(contentType 字符集和 pageEncoding)指令是 ISO-8859-1,浏览器是 Windows-1252
与往常一样,我非常感谢您的耐心和支持。
【问题讨论】:
-
显然您保存 JSP 文件使用了错误的编码。这是一个编辑器设置,但您在问题中没有告诉任何有关编辑器的信息。你在使用 Eclipse 吗?还是记事本?无论如何,这篇文章应该会有很大帮助:Unicode - How to get the characters right? 请注意,您不想使用 ISO-8859-1!只需修复 UTF-8 问题并一直坚持下去。否则你的网站根本就没有准备好统治世界。
-
@BalusC 乐于称霸世界。实际上我正在使用 NetBeans。你说得对,除了 UTF-8 之外我什么都不想要,但已经 4 天了,我越来越绝望了。
-
啊 Netbeans,抱歉无法详细说明,因为我没有真正使用/尝试超过 5 分钟。至此,您需要确保已将其配置为使用 UTF-8 保存文件,并且在 system.out.println 控制台中也使用 UTF-8。对于其余部分(JSP/HTTP 响应、HTTP GET 和 HTTP POST),只需按照博客中的说明进行操作即可。
标签: java apache jsp tomcat character-encoding