JSP编写WAP输入中文乱码问题

1/26/2007来源:JSP技巧人气:11880

jsp编写WAP输入中文乱码问题

  1. <%response.setContentType("text/vnd.wap.wml;charset=UTF-8";%>//utf8
  2. <%request.setCharacterEncoding("UTF-8";%>//参数处理方式utf8
  3. <%@ page pageEncoding="ISO-8859-1"%>//页面字符处理方式 iso-8859-1

我的JSP例子说明:

输入页面test1.jsp :

  1. <%@ page contentType="text/vnd.wap.wml;charset=gb2312" %>
  2. <%@ page pageEncoding="ISO-8859-1"%>
  3. <?xml version="1.0" ?>
  4. <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
  5. <wml>
  6. <card id="test1" title="汉字输入">
  7. <p>
  8. 姓名<input name="name" size="10"/><br/>
  9. 号码<input name="id" format="*N" size="12"/><br/>
10.
11. <anchor>确定
12.   <go href="test2.jsp" method="post">
13.     <postfield name="name" value="name"/>
14. <postfield name="id" value="id"/>
15.
16. </go>
17. </anchor>
18. </card>
19. </wml>

//以上使用 go method=”post”> 的方法传送参数,用get好像不行

接收页面test2.jsp :

  1. <%@ page contentType="text/vnd.wap.wml;charset=utf-8" %>
  2. <?xml version="1.0" ?>
  3. <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
  4. <wml>
  5. <card id="test2" title="汉字接收">
  6. <%
  7. request.setCharacterEncoding("utf-8";
  8. String name=request.getParameter("name";
  9. String id=request.getParameter("id";
10. %>
11. <p>姓名:<%=name%></p>
12. <p>id:<%=id%></p>
13.
14. <do type="PRev" label="返回上页">
15. <prev/>
16. </do>
17.
18. </card>
19. </wml>

把2个文件保存成为utf-8文件格式就可以了。
我的感觉主要是
request.setCharacterEncoding(”utf-8″;
起到很大作用, 如果输入页面是gb2312 格式
接受页面则要使用
request.setCharacterEncoding(”gb2312″;
建议还是使用utf-8,因为移动网关用utf-8
http://blog.csdn.net/peter_k/archive/2007/01/25/1493217.aspx