<%@ charset="GB2132" pageEncoding="GB2132" %>
...
<% ...
String errMsg = "密码错误";
response.sendRedirect("error.jsp?errMsg="+URLEncoding.encode(errMsg, "GB2132"));
显示为乱码…… 第一次做, 使用的是eclipse(lomboz) + tomcat5.5, 要怎么传递这类中文参数?谢谢!
...
<% ...
String errMsg = "密码错误";
response.sendRedirect("error.jsp?errMsg="+URLEncoding.encode(errMsg, "GB2132"));
显示为乱码…… 第一次做, 使用的是eclipse(lomboz) + tomcat5.5, 要怎么传递这类中文参数?谢谢!
你需要用到的类:
java.net.URLEncoder
java.net.URLDecoder
charset="UTF-8"String errMsg = "密码错误";
res.sendRedirect("/project/changePassword.jsp?errMsg="+URLEncoder.encode(errMsg, "UTF-8"));这样为什么还不行?请问如何转换呢
errMsg=new String(request.getParameter("errMsg").trim().getBytes("8859_1"),"gb2312");
request.setCharacterEncoding("gb2312");
request.setCharacterEncoding("utf-8");
......
response.setCharacterEncoding("utf-8");
page1.jsp
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ page pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
String errMsg = "%E5%AF%86%E7%A0%81%E9%94%99%E8%AF%AF";
response.sendRedirect("page2.jsp?errMsg=" + errMsg);
%>接受页面
page2.jsp
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ page pageEncoding="UTF-8"%>
<%request.setCharacterEncoding("UTF-8");%>
<% String recString = request.getParameter("errMsg");
%>
<%= recString %>
怎么来的呢?呵呵,我们来解决这个问题,
<form name = "form1" action ="page2.jsp">
<input type = "text" name ="errMsg" />
<input type = "submit" />
</form>
你一提交,看看浏览器的编码,就会惊喜的找到你想要的东西啦?
怎么,嫌弃麻烦,那好,只好再送个小法宝给你了,这东西叫google编码
进入以下网址
http://www.sinobuy.cn/utf8/
输入你想转换的字,查了帖上去吧?
什么,担心看不懂了? 你不会写个注释啊!!!!!!!!!!
request.setCharacterEncoding("gb2312")就行了。String errMsg = "密码错误";
res.sendRedirect("/project/changePassword.jsp?errMsg="+errMsg);
changePassword.jsp<%
request.setCharacterEncoding("gb2312");
%>
String str = null;
if (s == null) {
str = "";
}
try {
str = new String(s.getBytes("ISO8859_1"), "GBK");
return s;
} catch (Exception e) {
return null;
}
}
String errMsg = toGb(request.getParameter("errMsg"));