Javaweb乱码解决
乱码一般会出现在 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乱码解决相关推荐
- JavaWeb中的乱码解决方法总结
JavaWeb中的乱码解决方法总结 get请求提交中文(参数放在url中) 原因:服务器获取解析url的时候不知道编码规则 修改Tomcat服务器的安装路径下的conf目录下的配置文件server.x ...
- JavaWeb过滤器解决中文乱码问题
文章目录 前言 一.创建过滤器的类 二.实现接口 1.EncodingFilter implements Filter 2.web.xml注册过滤器 3. 重新运行项目即可 前言 Javaweb三大组 ...
- JavaWeb 乱码问题终极解决方案!
经常有读者在公众号上问 JavaWeb 乱码的问题,昨天又有一个小伙伴问及此事,其实这个问题很简单,但是想要说清楚却并不容易,因为每个人乱码的原因都不一样,给每位小伙伴都把乱码的原因讲一遍也挺费时间的 ...
- java中文乱码解决之道(二)—–字符编码详解:基础知识 + ASCII + GB**
原文出处:http://cmsblogs.com/?p=1412 在上篇博文(java中文乱码解决之道(一)-–认识字符集)中,LZ简单介绍了主流的字符编码,对各种编码都是点到为止,以下LZ将详细阐述 ...
- pycharm 运行控制台中文乱码解决办法
pycharm 运行控制台中文乱码解决办法
- vs code中文乱码解决方法
修改 1.(安装方法) 2.显示终端输入数据输出结果(完美解决) 3.修改部分:中文乱码解决方法 第一步: 第二步: 1.(安装方法) 转载于: https:blog.csdn.net/qq_4304 ...
- Zabbix 中文乱码解决
Zabbix 中文乱码解决 1.在本地的C:\Windows\Fonts下选择自己喜欢的字体,此处选择黑体(我只测试过宋体,楷体,黑体,幼圆其他中文字体应该都支持) 在C:\Windows\Fonts ...
- Ubuntu10.04下gFtp2.0.19 远程客户端中文乱码解决方法
Ubuntu10.04下gFtp2.0.19 远程客户端中文乱码解决方法如下: 1.打开"gFTP-FTP-属性-常规-远程字符集": 2.将远程字符集设置为:gb2312,gbk ...
- 【数据库】MySQL乱码解决(存入数据乱码和查询输出乱码)
一般在安装和设置MySQL的时候会选择将其编码格式设置为UTF8,以保证数据库在不用语言环境下的适应性.但是一般在Win下使用的时候,本机编码集却是GBK或者GB2312.这样在Win下的GBK编码输 ...
最新文章
- 关闭打开苹果电脑Rootless机制
- 详解TCP和UDP数据段的首部格式
- 超强数据恢复软件【含注册码】
- 《具体数学》第一章学习总结
- 中国移动推自有品牌终端利大于弊
- Word目录怎么自动生成?Word文档怎么自动生成目录列表
- 1.3Excel--公式
- antd 阿里图标库扩展a-icon 图标
- MySql简单入门_第四篇 高级使用(4)_触发器
- JSP内置对象Session——setAttribute/getAttibute/removeAttribute
- 矿机价格又双叕暴跌!个人挖不到收益,区块已经垄断
- javascript数据类型边边角角
- MySQL数据类型 int(M) 表示什么意思?
- 一张图认识Python(附基本语法总结)
- 数据结构作业9(清览题库)
- python-opencv+手机IP摄像头实现视觉目标跟踪KCF
- Python中使用Tkinter 快速布局编写桌面GUI程序
- [Python 爬虫]从eBay页面获取商品高清图片
- hanlp的基本使用--python(自然语言处理)
- AutoJs学习-属性动画ObjectAnimator