我有两个jsp页面。我想添加“俄语”语言。俄语字符在jsp页面上完美显示,但是当我尝试将此值从参数发送到另一个jsp页面时,然后在第二个jsp页面中将此值更改为不同的字符。这个问题只出现在俄语中,而不是意大利语和法语等其他问题。
例如
On demo.jsp page the russian character "приветствие" is shown correctly.
but when I try to send it to another page "test.jsp" then some unknown
characters are shown like "!C<Cä5 Cô>CôCC´OD=Cä5!"
代码: demo.jsp
String welcometext=langP.get("welcome");
<jsp:include page="<%=test.jsp%>">
<jsp:param name="wlc" value="<%=Encode.hex8Code(welcometext)%>" />
</jsp:include>
在test.jsp
中String title = Encode.utfToUnicode(Decode.hex8Decode(request.getParameter("wlc")));
System.out.println(" Russial welcome test "+welcome);
在查询参数中发送它们时,我们需要为俄罗斯添加任何特殊代码吗?
请注意*以下代码已经写好,否则它会给法语和意大利语带来问题..
<%@ page contentType="text/html; charset=UTF-8" %>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
还尝试了以下但没有帮助!
request.setCharacterEncoding("UTF-8")
答案 0 :(得分:0)
尝试将<% request.setCharacterEncoding("UTF-8"); %>
添加到您的主jsp页面:
以下是我的例子:
demo.jsp
<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<% request.setCharacterEncoding("UTF-8"); %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Привет</h1>
<jsp:include page="/test.jsp" flush="true">
<jsp:param name="wlc" value="Привет"/>
</jsp:include>
</body>
</html>
test.jsp的
<h1>Param values is</h1>
<%
String hello = request.getParameter("wlc");
out.print(hello);
%>
答案 1 :(得分:0)
我不知道更好的解决方案,但以下代码解决了这个问题。我将变量保存在session属性中。
demo.jsp
session.setAttribute("welcometext", welcometext);
test.jsp的
String welcometest=(String) session.getAttribute("welcometext");