java - Apache/Tomcat服务器中显示汉字

标签 java apache jsp utf-8

我正在尝试修改我的 Web 应用程序,以便它可以在多种语言中使用,但遇到了一些困难,并且仍然遇到问题。我正在使用 Apache Struts 框架(Java servlet 和 jsp 页面)在 Eclipse 中进行开发。目前,如果我尝试创建一个jsp页面并让它显示汉字,则汉字将在broser中正确显示。但是,如果我从 Java 类调用函数,它将仅显示“??”在浏览器中。我怀疑编译器是问题所在,但我想知道是否有人经历过类似的事情并能够修复它。

这是我到目前为止所做的事情: 当我开始从事这个项目时,所有内容都以 ISO-8859-1 进行编码。
我修改了 IDE (eclipse),以便所有源文件都以 UTF-8 保存。 然后我修改了我们的数据库 (Firebird),以便我显示的数据是 UTF-8。 我修改了jsp文件,以便在头部设置字符集 修改 web.xml 文件以指定 utf-8 作为其编码

如果我创建一个简单的jsp页面并尝试显示中文字符,它将在浏览器中正确显示:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
    <body>
         <%="密碼" %>
    </body>
</html>

但是,如果我从 Java 类调用函数,它将仅显示“??”而不是汉字:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
    <body>
    <%=com.enrolnet.shared.multilanguage.MultiLanguageTest.mtest() %>
    </body>
</html>

多语言测试:

public class MultiLanguageTest {
    public static String mtest() {
        return "密碼";
    }
}

有人对这里可能发生的情况以及如何解决它有任何见解吗?

感谢您的宝贵时间

最佳答案

您应该将页面的编码设置为 utf-8,而不仅仅是在元标记中。

<%@ page contentType="text/html; charset=UTF-8" %> 

取自 Oracle Documentation .

关于java - Apache/Tomcat服务器中显示汉字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26391418/

相关文章:

javascript - CSS、JSP中点击按钮时一个div消失,同时出现另一个div

javascript 函数第二次不工作

css - 为什么 CSS 在 IDE Tomcat 和 Production Tomcat 之间呈现不同?

java - 由于mapred.temp.dir,Hadoop 测试 BenchmarkThroughput 崩溃并出现 NullPointerException

java - 在启用无值键的情况下解析 Java 中的键=值对

Apache:摆脱 header 列表中的 Keep-Alive 条目

java - 在servlet java中将字符串转换为Mysql时间戳

Java List 和 Collection 抽象方法不指定主体

java - 如何在jHipster中配置Quartz作业? [在 jHipster 中配置 Quartz 作业时出现问题]

python - Apache mod_wsgi 在部署 Django 项目时抛出错误 "403 Forbidden"