返回列表 发帖

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

JSP编写WAP输入中文乱码问题
  1.   1. <%response.setContentType("text/vnd.wap.wml;charset=UTF-8";%>//utf8
  2.   2. <%request.setCharacterEncoding("UTF-8";%>//参数处理方式utf8
  3.   3. <%@ page pageEncoding="ISO-8859-1"%>//页面字符处理方式 iso-8859-1
复制代码
我的JSP例子说明:

输入页面test1.jsp :
  1.   1. <%@ page contentType="text/vnd.wap.wml;charset=gb2312" %>
  2.   2. <%@ page pageEncoding="ISO-8859-1"%>
  3.   3. <?xml version="1.0" ?>
  4.   4. <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
  5.   5. <wml>
  6.   6. <card id="test1" title="汉字输入">
  7.   7. <p>
  8.   8. 姓名<input name="name" size="10"/><br/>
  9.   9. 号码<input name="id" format="*N" size="12"/><br/>
  10. 10.
  11. 11. <anchor>确定
  12. 12.   <go href="test2.jsp" method="post">
  13. 13.     <postfield name="name" value="name"/>
  14. 14. <postfield name="id" value="id"/>
  15. 15.
  16. 16. </go>
  17. 17. </anchor>
  18. 18. </card>
  19. 19. </wml>
复制代码
//以上使用 go method=”post”> 的方法传送参数,用get好像不行

接收页面test2.jsp :
  1.   1. <%@ page contentType="text/vnd.wap.wml;charset=utf-8" %>
  2.   2. <?xml version="1.0" ?>
  3.   3. <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
  4.   4. <wml>
  5.   5. <card id="test2" title="汉字接收">
  6.   6. <%
  7.   7. request.setCharacterEncoding("utf-8";
  8.   8. String name=request.getParameter("name";
  9.   9. String id=request.getParameter("id";
  10. 10. %>
  11. 11. <p>姓名:<%=name%></p>
  12. 12. <p>id:<%=id%></p>
  13. 13.
  14. 14. <do type="prev" label="返回上页">
  15. 15. <prev/>
  16. 16. </do>
  17. 17.
  18. 18. </card>
  19. 19. </wml>
复制代码
把2个文件保存成为utf-8文件格式就可以了。
我的感觉主要是
request.setCharacterEncoding(”utf-8″;
起到很大作用, 如果输入页面是gb2312 格式
接受页面则要使用
request.setCharacterEncoding(”gb2312″;
建议还是使用utf-8,因为移动网关用utf-8

返回列表