`

JSP开发 wap页面编码问题

    博客分类:
  • J2ME
阅读更多
请看下面这段代码。
<%@ page contentType="text/vnd.wap.wml;charset=utf-8" %>
<% response.setContentType("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>

刚学J2ME,想做个小的手机博客,自己玩玩,随便弄了个页面竟然一堆乱码?

tomcat 和 Nokia Mobile Browser 4.0都是默认设置。
我的操作步骤:
1. 直接用记事本编辑的保存上面的代码,在Nokia Mobile Browser 4.0中 汉字 显示 全是乱码。效果如下:

2. 把上面的代码另存为utf-8的编码(记事本默认的是ANSI),  在Nokia Mobile Browser 4.0中,仅仅是“姓名”显示的是乱码,其他的汉字显示正常, 效果如下:

3. 把代码另存为 unicode 的编码, 显示的如下错误:

4. 把<%@ page contentType="text/vnd.wap.wml;charset=utf-8" %>改为 charset="gb2312",页面默认的保存编码ANSI,效果通2一样。
5. 把<%@ page contentType="text/vnd.wap.wml;charset=utf-8" %>改为 charset="gb2312",页面默认的保存编码utf-8,效果如下:

6. 删除<% response.setContentType("text/vnd.wap.wml;charset=utf-8");%>这一语句,同时<%@ page contentType="text/vnd.wap.wml;charset=utf-8" %>改为 charset="gb2312",出现如下错误:


为什么会出现这种情况,我实在搞得晕晕乎乎了。

我的理解是:
charset=utf-8用来设置页面的显示编码;
pageEncoding="utf-8"用来设置对文件的读取应采用的编码;
response.setContentType("text/vnd.wap.wml;charset=utf-8");用来设置服务器响应的告诉浏览器应该按照什么样的编码显示;
request.setCharacterEncoding("utf-8");用来设置参数传递的URL编码。

Qusetion:
1。 Tomcat以什么编码读取我的文件。
2。 Tomcat读取我的jsp文件有用什么编码生成java 文件,接着又以什么编码生成和读取类似servlet的class文件。
3。 怎样才能正确的显示。
再网上查了半天,都发现不能解决我的问题,我主要想了解一下程序再运行过程中的编码与解码过程。

有会的帮给讲解下。谢谢!
  • 大小: 17.2 KB
  • 大小: 18.5 KB
  • 大小: 18.8 KB
  • 大小: 19.8 KB
  • 大小: 22.1 KB
  • 大小: 37.3 KB
  • 大小: 34 KB
分享到:
评论
9 楼 dch1287 2009-06-23  
你没有使用 pageEncoding="utf-8"

<%@ page language="java" pageEncoding="UTF-8"
         contentType="text/html; charset=UTF-8" %>


1. jsp文件使用utf-8保存 保证源文件按照正确的编码保存
2. 设置 pageEncoding 保证容器编译jsp时使用正确的编码
3. 设置 contentType 保证浏览器拿到 response 后按照正确的编码解码

另外注意这个
<?xml version="1.0" encoding="UTF-8" ?>
8 楼 yintel 2009-06-22  
dongjq 的指点,对步骤2 用opera测试了下,发现没有问题。
截图如下:

可以确定是Nokia 模拟器内置的浏览器问题。
感谢大家的回复,
关于Tomcat读取页面,解释页面的整个流程的编码与解码问题,我google了很多文章,
基本上已经明白了。过几天将开博文详细讲解下这个过程。
感兴趣的请关注博客!
7 楼 yintel 2009-06-20  
dongjq 写道

有阵子没接触这些了,有点忘了~URIEncoding这个地方应该不是造成乱码的原因.是url的编码,也就是get方式的参数你尝试使用opera试试,如果使用utf8编码方式,有问题,那么看一下opera的编码方式,如果还有问题,可以使用firefox,将页面源码打开查看,是否乱码,这样就可以确定是不是浏览器的问题

非常感谢你的指导,我一会试下。
6 楼 dongjq 2009-06-20  
有阵子没接触这些了,有点忘了~

URIEncoding这个地方应该不是造成乱码的原因.是url的编码,也就是get方式的参数

你尝试使用opera试试,如果使用utf8编码方式,有问题,那么看一下opera的编码方式,如果还有问题,可以使用firefox,将页面源码打开查看,是否乱码,这样就可以确定是不是浏览器的问题
5 楼 yintel 2009-06-19  
whaosoft 写道

奇怪了 那你在试试gbk呢~!

把URIEncoding="utf-8"改成gbk吗?也没有用。
而且如果在实际项目中的话不会让修改服务器的配置文件server.xml的。
我看了下Diagnostics的结果,如图:

可以看到服务器response的是UTF-8编码的数据。可以肯定是Nokia Mobile Browser的问题。不知道大家有没有遇到这个问题?是怎么解决的呢?
4 楼 whaosoft 2009-06-19  
奇怪了 那你在试试gbk呢~!
3 楼 yintel 2009-06-19  
我做了很多的测试,觉得应该是模拟器的问题,不知道是不是Nokia Mobile Browser 4.0对中文显示不支持?但为什么又对title上面和导航那显示又是正常的呢
2 楼 yintel 2009-06-19  
sharong 写道

这个不是程序的问题,是tomcat的配置问题,需要在server.xml对编码进行配置,在server.xml里找到 &lt;Connector port="8080"节点(你启动tomcat的端口的那个),给这个节点增加URIEncoding="utf-8"属性即可。

非常感谢你的回复!
我看了Tomcat默认server.xml里的connector里面就有URIEncoding="utf-8",它的作用似乎是告诉Tomcat解码URL时采用的编码,应该和页面内容没有关系吧。
1 楼 sharong 2009-06-19  
这个不是程序的问题,是tomcat的配置问题,需要在server.xml对编码进行配置,在server.xml里找到 <Connector port="8080"节点(你启动tomcat的端口的那个),给这个节点增加URIEncoding="utf-8"属性即可。

相关推荐

    Struts开发Wap应用(word)

    对于中文系统的模拟器,确保正确设置字符集(如GB2312或UTF-8)以避免乱码问题。 5. **配置与集成**:在Struts配置文件(struts-config.xml)中,需要添加WML相关的action和forward,以便Struts能够正确处理WML请求...

    开发wap注意事项---wml中文乱码

    在进行WAP(Wireless Application Protocol)开发过程中,中文乱码问题是开发者经常会遇到的问题之一。尤其是在早期的移动互联网技术中,WML(Wireless Markup Language)作为主要的标记语言被广泛应用于WAP网页的...

    一个非常好的jsp+wml的例子(包括代码).rar_WML_WML java_jsp wml _wap_wml jsp

    这个压缩包中的资源提供了全面的教程,涵盖了从WML的基础到JSP与WML集成的高级概念,对于想要学习WAP开发的初学者来说是非常有价值的参考资料。通过深入研究这些文件,开发者可以学习到如何创建适应无线设备的动态...

    wap开发注意事项总结

    16. **JSP页面优化**:在使用JSP开发WAP页面时,应当考虑性能优化,例如缓存策略的合理运用。 17. **表单元素的正确使用**:在WAP 2.0中,`&lt;textarea&gt;`元素的使用应遵循标准格式,即包含开始和结束标签,以确保在...

    jsp网站开发 图片下载系统

    总的来说,"jsp网站开发 图片下载系统"是一个涵盖了Web开发多个方面的项目,涉及前后端交互、文件处理、用户认证等多个关键技术点,对于学习和提升JSP开发技能非常有帮助。通过深入研究提供的源码,开发者或学生可以...

    wappush.rar_WAPpush_java push_push_wap push_wap push java

    综上所述,"wappush.rar_WAPpush_java push_push_wap push_wap push_java"是一个关于使用Java技术实现WAP Push服务的项目,其中可能包含了JSP页面和JavaBean组件,用于处理推送消息的生成和发送。这个项目可以帮助...

    Struts开发Wap应用(PDF)

    ### Struts 开发 WAP 应用 #### 一、WAP 及其技术背景介绍 **WAP**(Wireless Application Protocol)是一项基于 **WML**(Wireless Markup Language)的技术标准,它与 **HTML**(Hypertext Markup Language)...

    wap网站开发[借鉴].pdf

    9. **设备兼容性**:在开发WAP网站时,必须考虑到不同手机和浏览器的兼容性,因为不同的设备可能支持不同的WAP版本和功能。 10. **持续更新**:随着技术的发展,WAP 1.2逐渐被WAP 2.0取代,开发者应保持对新技术的...

    [上传下载]WAP图铃下载系统_unimg.zip

    【标题】:“WAP图铃下载系统_unimg.zip”是一个基于JSP技术的移动...通过分析这个系统的各个组成部分,我们可以了解到一个完整的JSP开发流程,从需求分析、设计、编码、测试到部署,涉及到了Web开发的多个重要环节。

    JspRun!社区论坛系统 v6.0 bulid 090424 GBK 安装版.rar

    24、修复了Wap设置时的页面错误、wap查看回帖时的分页信息、wap发帖回帖乱码的问题 25、修复了新用户注册无法保存个性签名等若干bug 26、修复了三元运算符以兼容更多的web服务器(如jboss、resin等) 27、修复了...

    JspRun!社区论坛系统 v6.0 bulid 090423 GBK 源码版.rar

    24、修复了Wap设置时的页面错误、wap查看回帖时的分页信息、wap发帖回帖乱码的问题 25、修复了新用户注册无法保存个性签名等若干bug 26、修复了三元运算符以兼容更多的web服务器(如jboss、resin等) 27、修复了...

    自己对wap的一些心得体会

    从给定的文件信息来看,文章主要...在WAP 2.0中,页面头部设置是非常关键的一部分,因为它涉及到页面的编码、内容类型以及缓存控制等重要信息。例如,下面的代码展示了如何在JSP页面中设置WAP 2.0的头部信息: ```jsp ...

    WAP图铃下载系统_unimg.rar

    2. **JSP页面**:包括首页、分类展示页、图铃详情页、搜索结果页、用户登录/注册页等,这些页面会处理用户的交互并展示相关信息。 3. **JAVA源代码**:后端处理逻辑,如用户验证、图铃查询、上传/下载处理等。 4. **...

    JspRun!社区论坛系统 v6.0.0 build 20110516 GBK 源码版.zip

    22、修复了:通过 wap 浏览主题时,可能产生错误的问题。 23、修改了:Js 调用所产生的论坛链接不能生成静态 URL 的问题。 24、修复了:前台自定义信息分类--日期控件IE下显示错误,谷歌浏览器下乱码现象 25、...

    [工具查询]通用WAP网站生成系统(PowerDiamond)v.1_popedom1.zip

    "毕业设计"意味着它可能包含了一个完整项目的所有阶段,从需求分析、设计、编码、测试到部署,这对于学生来说是一个宝贵的实践机会,能够提升他们的项目管理能力和问题解决技巧。 【压缩包子文件的文件名称列表】...

    JspRun!社区论坛系统 v6.0 UTF-8 源码版 Bulid 20100105 正式版(毕设 + 课设).zip

    2. **UTF-8编码**:全球通用的字符编码标准,能支持多种语言,避免了乱码问题,对于多语言社区论坛至关重要。 3. **源码版**:提供完整的源代码,开发者可以深入了解系统内部实现,进行二次开发或学习研究。 4. **...

    [论坛社区]JspRun!社区论坛系统 v6.0 GBK 源码版 Bulid 20100625 正式版(毕设 + 课设).zip

    5. **GBK编码的使用**:深入理解GBK编码机制,如何处理中文字符集,避免乱码问题。 6. **MVC架构**:了解MVC模式在实际项目中的应用,掌握各层之间的交互方式。 7. **安全性考虑**:学习防止SQL注入、XSS攻击等安全...

    手机wap源码模板 (193).zip

    【标题】"手机wap源码模板 (193).zip" 涉及的主要知识点是移动网站开发,尤其是针对WAP(无线应用协议)技术的前端设计与编码。WAP是一种标准,允许移动设备通过互联网访问信息和服务。在这个压缩包中,我们可以找到...

Global site tag (gtag.js) - Google Analytics