乱码一般会出现在  jsp页面、jsp页面之间相互传参的参数 、与数据库中数据的存取这些地方。

出现在jsp页面中,是由于没有设置jsp页面的中文字符编码。解决:<% @ page contentType = " text/html;charset=utf-8"   %>

出现在jsp页面之间相互传参,是由于参数没有设置正确的字符编码。解决:<% request.setCharacterEncoding( " gb2312 " ); %> 
 以上2个问题解决了,那么存到数据库中,自然就不存在乱码。如果出现乱码,那就是安装数据库的时候我们设置的是默认的编码格式,

那么,我们修改数据库的编码,网上一般都有相应的修改数据库配置文件的例子,http://www.testwo.com/blog/6930,这是修改MySQL配置文件的链接。

<% @page pageEncoding = " gb2312 " %> 
这是为了让jsp编译器能正确地解码含有中文字符的jsp页面。

还有就是我们写一个过滤器,这个比较方便。

步骤如下: 1、创建一个类继承Filter接口,实现其中的接口方法,一共三个方法,执行的顺序是;init(FilterConfig arg0)、doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2)、destroy(); 2、配置web。xml文件。这两步完成就可以实现统一编码。 代码如下:

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
//统一编码的过滤器
public class CharactorFilter implements Filter {
 private String encoding=null;//编码格式
//将encoding设置为null
@Overridepublic void destroy() {// TODO Auto-generated method stubencoding=null;}
//将得到的encoding进行编码@Overridepublic void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException {// TODO Auto-generated method stubif(encoding!=null){arg0.setCharacterEncoding(encoding);arg1.setContentType("text/html;charset="+encoding);}arg2.doFilter(arg0, arg1);//通过过滤器链arg2将进入下一个过滤器或者直接到页面显示}
//初始化操作,从配置文件中拿到初始化数据@Overridepublic void init(FilterConfig arg0) throws ServletException {// TODO Auto-generated method stubencoding=arg0.getInitParameter("encoding");}
}
在web.xml中应该配置的东西:
<filter><filter-name>CharactorFilter</filter-name><filter-class>woniu.struts.filter.CharactorFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>CharactorFilter</filter-name><url-pattern>/*</url-pattern>//这里使用/*,表示在访问任何页面时都要通过该过滤器</filter-mapping>

Javaweb乱码解决相关推荐

  1. JavaWeb中的乱码解决方法总结

    JavaWeb中的乱码解决方法总结 get请求提交中文(参数放在url中) 原因:服务器获取解析url的时候不知道编码规则 修改Tomcat服务器的安装路径下的conf目录下的配置文件server.x ...

  2. JavaWeb过滤器解决中文乱码问题

    文章目录 前言 一.创建过滤器的类 二.实现接口 1.EncodingFilter implements Filter 2.web.xml注册过滤器 3. 重新运行项目即可 前言 Javaweb三大组 ...

  3. JavaWeb 乱码问题终极解决方案!

    经常有读者在公众号上问 JavaWeb 乱码的问题,昨天又有一个小伙伴问及此事,其实这个问题很简单,但是想要说清楚却并不容易,因为每个人乱码的原因都不一样,给每位小伙伴都把乱码的原因讲一遍也挺费时间的 ...

  4. java中文乱码解决之道(二)—–字符编码详解:基础知识 + ASCII + GB**

    原文出处:http://cmsblogs.com/?p=1412 在上篇博文(java中文乱码解决之道(一)-–认识字符集)中,LZ简单介绍了主流的字符编码,对各种编码都是点到为止,以下LZ将详细阐述 ...

  5. pycharm 运行控制台中文乱码解决办法

    pycharm 运行控制台中文乱码解决办法

  6. vs code中文乱码解决方法

    修改 1.(安装方法) 2.显示终端输入数据输出结果(完美解决) 3.修改部分:中文乱码解决方法 第一步: 第二步: 1.(安装方法) 转载于: https:blog.csdn.net/qq_4304 ...

  7. Zabbix 中文乱码解决

    Zabbix 中文乱码解决 1.在本地的C:\Windows\Fonts下选择自己喜欢的字体,此处选择黑体(我只测试过宋体,楷体,黑体,幼圆其他中文字体应该都支持) 在C:\Windows\Fonts ...

  8. Ubuntu10.04下gFtp2.0.19 远程客户端中文乱码解决方法

    Ubuntu10.04下gFtp2.0.19 远程客户端中文乱码解决方法如下: 1.打开"gFTP-FTP-属性-常规-远程字符集": 2.将远程字符集设置为:gb2312,gbk ...

  9. 【数据库】MySQL乱码解决(存入数据乱码和查询输出乱码)

    一般在安装和设置MySQL的时候会选择将其编码格式设置为UTF8,以保证数据库在不用语言环境下的适应性.但是一般在Win下使用的时候,本机编码集却是GBK或者GB2312.这样在Win下的GBK编码输 ...

最新文章

  1. 关闭打开苹果电脑Rootless机制
  2. 详解TCP和UDP数据段的首部格式
  3. 超强数据恢复软件【含注册码】
  4. 《具体数学》第一章学习总结
  5. 中国移动推自有品牌终端利大于弊
  6. Word目录怎么自动生成?Word文档怎么自动生成目录列表
  7. 1.3Excel--公式
  8. antd 阿里图标库扩展a-icon 图标
  9. MySql简单入门_第四篇 高级使用(4)_触发器
  10. JSP内置对象Session——setAttribute/getAttibute/removeAttribute
  11. 矿机价格又双叕暴跌!个人挖不到收益,区块已经垄断
  12. javascript数据类型边边角角
  13. MySQL数据类型 int(M) 表示什么意思?
  14. 一张图认识Python(附基本语法总结)
  15. 数据结构作业9(清览题库)
  16. python-opencv+手机IP摄像头实现视觉目标跟踪KCF
  17. Python中使用Tkinter 快速布局编写桌面GUI程序
  18. [Python 爬虫]从eBay页面获取商品高清图片
  19. hanlp的基本使用--python(自然语言处理)
  20. AutoJs学习-属性动画ObjectAnimator

热门文章

  1. vb devcon获取u盘信息_iOS 13 U盘越狱法,卡代码及U盘终极解决
  2. [MySQL] mysql 的行级显式锁定和悲观锁
  3. session对象的使用
  4. 如何升级PowerShell
  5. E-MapReduce解决hive comment中文乱码问题
  6. java Future FutureTask 并发操作
  7. 源码安装 MariaDB
  8. Sublime Text 2 备忘录(phper)
  9. 2011——我的HelloWorld
  10. GDB 调试 Mysql 实战(一)源码编译安装