怎么解决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代码中的中加入这句

  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″)对请求进行统一编码,就实现了中文的正常显示。

时间: 2024-08-29 16:51:12

怎么解决JSP中出现乱码的问题的相关文章

解决jsp中的中文乱码问题笔记

一.JSP页面显示乱码 二.表单提交中文时出现乱码 三.数据库连接 大家在JSP的开发过程中,经常出现中文乱码的问题,可能一至困扰着您,我现在把我在JSP开发中遇到 的中文乱码的问题及解决办法写出来供大家参考. 一.JSP页面显示乱码 下面的显示页面(display.jsp)就出现乱码: <html> <head> <title>JSP的中文处理</title> <meta http-equiv="Content-Type" con

大开测试:性能—如何解决脚本中的乱码问题(连载7)

7.7  如何解决脚本中的乱码问题 1.问题提出 平时在对Web应用程序性能测试的时候,可能会出现录制的脚本中汉字变为乱字符的现象. 2.问题解答 在所有字符集中,最知名的可能要数被称为ASCII的7位字符集了.它是美国信息交换标准委员会(AmericanStandards Committee for Information Interchange)的缩写,为美国英语通信所设计.它由128个字符组成,包括大小写字母.数字0-9.标点符号.非打印字符(换行符.制表符等4个)以及控制字符(退格.响铃

如何彻底解决jsp页面中文乱码及数据库乱码

最近自己闲做一个小项目,搭建环境框架SSH+MySQL数据库,遇到一个问题:jsp页面中文显示乱码,数据库插入数据和更新数据时中文也显示乱码,后来在网上找了许多解决方法,还是折腾了两天才把问题解决,下面总结一下彻底解决中文乱码问题: 在项目里的我统一使用UTF-8的编码方式 1.知道自己安装Mysql数据库安装配置时选择了什么编码方式,如果之前安装,现在不太清楚,建议重新安装Mysql数据库,安装配置时选择utf8 (这里有个小技巧:不用卸载Mysql数据,找到安装Mysql数据库目录:D:\M

解决JSP页面中文乱码插入到数据库的问题

在JSP页面使用表单注册一个用户名的时候,查看到数据库里面的表中文显示乱码的情况有两种: 1.JSP页面传进来的参数中文就是乱码,则是前台的问题,这个时候写一个过滤器就好了,可以写如下的一个过滤器 public class EncodingFilter implements Filter { String encoding; private static final String DEFAULT_CHARACTER_ENCODING = "UTF-8"; public Encoding

js文件中的中文提示信息发到jsp中出现乱码解决步骤

.js文件创建默认是gbk编码,该js文件中如果有中文,在utf-8的jsp页面中,显示改中文,为乱码! 解决方法: 1--将原来.js文件中的内容全部复制到剪贴板中: 2--修改js文件的编码格式为utf-8: 3--将剪贴板中的内容黏贴到原来的js文件覆盖原有内容,保存,再测试就没有问题了.

解决JSP页面显示乱码

1.JSP页面乱码 这种乱码的原因是应为没有在页面里指定使用的字符集编码,解决方法:只要在页面开始地方用下面代码指定字符集编码即可, <%@ page contentType="text/html;charset=utf-8" language="java" %> 2.数据库乱码 这种乱码会使你插入数据库的中文变成乱码,或者读出显示时也是乱码,解决方法如下: 在数据库连接字符串中加入编码字符集 String Url="jdbc:mysql://

解决web中的乱码

统一使用utf-8进行编码数据库的编码格式也是utf-8 对于页面post传过来的不会出现乱码 对于页面get 传过来值解决乱码 方法一:在业务层:userName = new String(userName.getBytes("iso-8859-1"),"utf-8");方法二: 先在jsp页面中进行: userName = encodeURL(userName,"UTF-8"); userName = encodeURL(userName,&

解决打印中的乱码问题

有时我们需要打印消息来辅助自己判断程序的正确性,但很多情况下打印是乱码, 基本都是由于Unicode引发,为了解决问题最简单的就是引入NSArray + Extension和NSDictionary + Extension这两个扩展文件, 看懂里面的代码也就知道解决思路,奉上代码: https://github.com/sasuke6/iOS-Unicode.git

解决jsp中编辑和删除时候弹出框闪退的问题。

---恢复内容开始--- /* 火箭设备特殊记载</li> <!-- yw4 --> */ function getYw4DL(){ var controlparm={"urls":"rocketequiprecordyw4_do.jsp?m=l","tableId":"table2","pageId":"pagebar2","menu":tr