我试图修改我的网络应用程序,以便它可以用于多种语言,但遇到一些困难并且仍然遇到问题。我使用Apache Struts框架(Java servlets和jsp页面)在Eclipse中开发。目前,如果我尝试创建一个jsp页面并让它显示中文字符,中文字符将在更加明显的地方正确显示。但是,如果我从Java类调用一个函数,它将只显示' ??'在浏览器中。我怀疑编译器是问题,但我想知道是否有人经历过类似的事情并且能够解决它。
这是我到目前为止所做的: 当我开始研究这个项目时,一切都是用ISO-8859-1编码的 我修改了我的IDE(eclipse),以便所有源文件都以UTF-8保存。 然后我修改了我们的数据库(Firebird),以便我显示的数据是UTF-8。 我修改了jsp文件,因此charset设置在头部 修改了web.xml文件以指定utf-8作为其编码
如果我创建一个简单的jsp页面并尝试显示中文字符,它将在浏览器中正确显示:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<%="密碼" %>
</body>
</html>
但是,如果我从Java类调用一个函数,它将只显示&#39; ??&#39;而不是中文字符:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<%=com.enrolnet.shared.multilanguage.MultiLanguageTest.mtest() %>
</body>
</html>
MultiLanguageTest:
public class MultiLanguageTest {
public static String mtest() {
return "密碼";
}
}
任何人都对这里可能发生的事情有什么了解,以及如何解决它?
感谢您的时间
答案 0 :(得分:1)
您应该将页面的编码设置为utf-8,而不仅仅是元标记。
<%@ page contentType="text/html; charset=UTF-8" %>