我在JSP中遇到I18N问题,特别是表单。
当我将一些捷克字符(例如“ěščřžýá...”)输入到我的页面一个表单中,进入“fieldOne
”字段,然后在第二页显示该字段中的文本,而不是捷克语我认为这是“ÄÄ”。 (注意,第二页获得捷克语字符“request.getProperty("fieldOne")
”)
以下是源代码:
第一页
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>
<html>
<head></head>
<body>
<form action="druha.jsp" method="post">
<input type="textarea" name="fieldOne">
<input type="submit">
</form>
</body>
</html>
第二页:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>
<html>
<head></head>
<body>
<h1>The text: </h1> <%=request.getProperty("fieldOne")%>
</body>
</html>
感谢您的帮助...
答案 0 :(得分:4)
您使用的是哪个容器?这些信息对于这类问题很重要。
无论如何,请尝试拨打
request.setCharacterEncoding("UTF-8");
在读取参数之前。有时在header指令中设置页面编码是不够的。你肯定需要在Tomcat和servlet中这样做,我认为这也可能是JSP的情况。