答案:在发送url请求的页面和接收url请求的页面做如下设置
- <%response.setContentType("text/vnd.wap.wml;charset=UTF-8";%>//utf8
- <%request.setCharacterEncoding("UTF-8";%>//参数处理方式utf8
- <%@ page pageEncoding="ISO-8859-1"%>//页面字符处理方式 iso-8859-1
我的JSP例子说明:
输入页面test1.jsp :
- <%@ page contentType="text/vnd.wap.wml;charset=gb2312" %>
- <%@ page pageEncoding="ISO-8859-1"%>
- <?xml version="1.0" ?>
- <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
- <wml>
- <card id="test1" title="汉字输入">
- <p>
- 姓名<input name="name" size="10"/><br/>
- 号码<input name="id" format="*N" size="12"/><br/>
- <anchor>确定
- <go href=> <postfield name="name" value="name"/>
- <postfield name="id" value="id"/>
- </go>
- </anchor>
- </card>
- </wml>
//以上使用
go method=”post”> 的方法传送参数,用get好像不行 接收页面test2.jsp :
- <%@ page contentType="text/vnd.wap.wml;charset=utf-8" %>
- <?xml version="1.0" ?>
- <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
- <wml>
- <card id="test2" title="汉字接收">
- <%
- request.setCharacterEncoding("utf-8";
- String name=request.getParameter("name";
- String id=request.getParameter("id";
- %>
- <p>姓名:<%=name%></p>
- <p>id:<%=id%></p>
- <do type="prev" label="返回上页">
- <prev/>
- </do>
- </card>
- </wml>
把2个文件保存成为utf-8文件格式就可以了。
我的感觉主要是
request.setCharacterEncoding(”utf-8″;
起到很大作用, 如果输入页面是gb2312 格式
接受页面则要使用
request.setCharacterEncoding(”gb2312″;
建议还是使用utf-8,因为移动网关用utf-8
上一个:动态WAP站点(IIS/Apache)的服务器设置
下一个:Perl与WAP-程序举例