Jsp是一个很热门的话题,但让大多数人都头痛的是JSP页面中的乱码问题,笔者身有体会;曾为了解决中文乱码问题郁闷了好几天,试了很多方法都不行。最后在JSP专业人士的帮助下,终于解决。之后笔者曾对此做了一些小的研究。
首先我们先了解一下问题的原因。一般情况在在每个JSP页的头部都有这样一条语句:
<!---->这条语句决定了此页面使用GB2312编码形式,而在数据库中一般用的是iso-8859-1字符集存储数据. 而Java程序在处理字符时默认采用统一的ISO-8859-1字符集(体现Java国际化思想),所以在添加数据时,默认的字符集编码是iso-8859-1,而页面采用的是GB2312,所以就出现乱码问题。为解决此问题应在存储的时候把GB2312换转成iso-8859-1。有此时候在读出时也会出现乱码,那么只需反过来就可以了,把iso-8859-1转换成GB2312。
具体实例归纳了以下几点,也许会对大家有一些帮助。
1、 在建立JSP页面时应该注意在jsp页面的头部加入一下代码
<!---->
此方法是解决JSP页面显示时的乱码。
2、 有时还需在HTML代码中的中加入这句
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
3、 在bean中用的是iso-8859-1编码,在jsp中一般用GB2312编码,处理此类乱码问题如下
String str=new String(strName.getBytes(“iso-8859-1”),”GB2312”);
具体用到此方法的地方为,当提交表单到bean(bean的功能是存储数据到数据库)表单提交后,数据库中存入的数据确变成了????,因此在调用bean之前应对编码进行转换,方法:String str=new String(request.getParameter().getBytes(“iso-8859-1”),”GB2312”);
这样,存入数据库的数据库的数据就可见了。
4、 对于页面间的参数传递也可以用这个方法来处理乱码问题:
public String getStr(String str)
{
try
{
String temp_p=str;
byte[] temp_t=temp_p.getBytes("ISO8859-1");
String temp=new String(temp_t);
return temp;
}
catch(Exception e)
{}
return "null";
}
5、 在表单定义时加上这个属性有时也可以解决表单提交过程中出现的乱码
6、 提交英文字符能正确显示,如果提交中文时就会出现乱码。原因:浏览器默认使用UTF-8编码方式来发送请求,而UTF-8和GB2312编码方式表示字符时不一样,这样就出现了不能识别字符。解决办法:通过request.setCharacterEncoding("gb2312")对请求进行统一编码,就实现了中文的正常显示。
转自:http://blog.csdn.net/hdwt/archive/2006/07/28/993212.aspx
分享到:
相关推荐
$str = '<script<script>alert(document.cookie)</script>>alert(document.cookie)</script>'; $str = preg_replace('%<script>.+?</script>%i', '', $str); // 非贪婪 ``` 这段代码本意是移除所有<script>标签内的...
【小议动态网页开发中JSP技术】 JSP(JavaServer Pages)技术是Web开发领域中的重要工具,尤其适用于构建动态、交互式的网页应用程序。它基于JavaServlet,并且充分利用了Java的强大功能和跨平台特性,使得开发出的...
【股东转让出资的法律问题】 在有限责任公司中,股东转让出资是公司运营中常见的现象,这一行为涉及到股东权益、公司稳定以及法律规定的执行。《中华人民共和国公司法》对此进行了详细规定,旨在平衡各方利益,防止...
小议土地竞价转让文件的编制.doc 本文主要介绍了土地竞价转让文件的编制方法和原则,涵盖了竞价转让文件的编制依据、主要内容、注意问题和对策等方面的内容。 首先,竞价转让文件的编制依据主要包括国家相关的法律...
小议转型社会下的社保规则入宪.doc
小议分析汉字文化信息改进汉字教学运用策略探析.pdf
小议外汇期权会计在新规则中应用 本文主要探讨了小议外汇期权会计在新规则中的应用,涉及到外汇期权的概念、分类、确认、计量和披露等方面的知识点。 一、外汇期权的概念 外汇期权是一种金融衍生工具,允许持有人...
小议经济型酒店消费者心理及消费方向.doc
在Web开发中,`change`事件通常用于检测输入字段(如`<input>`、`<select>`或`<textarea>`)的内容何时发生变化。它尤其在用户完成输入并失去焦点时触发。然而,`change`事件在不同浏览器中表现并不一致,特别是在旧...
当前国家经济环境的深刻变革要求我国煤炭资源型城市积极转型,在这样的条件下,提出了必须调整城市发展方向促进城市结构改革的论点。进而具体阐述了如何调整煤炭资源型城市的发展方向,引出了合理规划城市的议题,具体...
**小议MVC模式开发** MVC(Model-View-Controller)模式是软件工程中的一种设计模式,广泛应用于Web应用程序的开发中,特别是在Java、.NET等框架中。该模式将应用程序分为三个主要部分,旨在实现业务逻辑与用户界面...
### 抖动算法小议——深入探讨多媒体技术中图像的抖动算法 #### 引言 在多媒体领域,尤其是在图像处理技术中,抖动算法扮演着至关重要的角色。本文旨在通过对抖动算法的深入解析,帮助读者理解其原理及其在灰度...
小议嵌入式计算机技术.pdf
法治思想起源小议.docx
小议食品安全问题.doc
小议人力资源外包.doc
小议“地摊经济”合集
小议“地摊经济”2020
小议如何培养班干部.doc