java web乱码问题_Java Web中文乱码问题解决
一、为什么会出现中文乱码问题:
java内核和class文件是基于unicode码的,这使Java程序具有良好的跨平台性,但也导致在Java和JSP文件在编译时以及Java程序与其他媒介交互时等情况下产生中文乱码成为可能。编码方式的不一致,是造成中文乱码的根本原因。
二、解决方法(简单粗暴):
第一步:增加一个过滤器
public class EncodingFilter implements Filter {
private String encoding="utf-8";
public EncodingFilter() {
}
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
response.setContentType("text/html; charset=UTF-8");
request.setCharacterEncoding(encoding);
chain.doFilter(request, response);
}
public void init(FilterConfig fConfig) throws ServletException {
}
}
做了第一步只能保证post提交方式不出现中文乱码,但不能保证get与url方式提交不出现乱码,所以要有第二步。
第二步:在Tomcat中的server.xml文件中,找到你的端口号那一行,比如我自己用的是默认的8080端口。添加useBodyEncodingForURI="true"
因为在Tomcat5.0中,默认情况下使用ISO- 8859-1对URL提交的数据和表单中GET方式提交的数据进行重新编码(解码),而不使用该参数对URL提交的数据和表单中GET方式提交的数据进行重新编码(解码)。要解决该问题,应该在Tomcat的配置文件的Connector标签中设置useBodyEncodingForURI或者URIEncoding属性,其中useBodyEncodingForURI参数表示是否用request.setCharacterEncoding 参数对URL提交的数据和表单中GET方式提交的数据进行重新编码,在默认情况下,该参数为false(Tomcat4.0中该参数默认为true); URIEncoding参数指定对所有GET方式请求(包括URL提交的数据和表单中GET方式提交的数据)进行统一的重新编码(解码)的编码。URIEncoding和useBodyEncodingForURI区别是,URIEncoding是对所有GET方式的请求的数据进行统一的重新编码(解码),而useBodyEncodingForURI则是根据响应该请求的页面的request.setCharacterEncoding参数对数据进行的重新编码(解码),不同的页面可以有不同的重新编码(解码)的编码。所以对于URL提交的数据和表单中GET方式提交的数据,可以修改 URIEncoding参数为浏览器编码或者修改useBodyEncodingForURI为true,并且在获得数据的JSP页面中 request.setCharacterEncoding参数设置成浏览器编码。
java web乱码问题_Java Web中文乱码问题解决相关推荐
- java怎么解决页面乱码问题_java页面中文乱码的解决办法
骚年啊,资源文件名不要有中文啊,这可是常识啊 而且文件名不要有空格,不然容易悲剧 ######回复 @汪兴 : 有一个办法规避,就是上传的文件名更名为hash,实际上很多网站都这么做的,最终在页面上的 ...
- mysql中文乱码解决_java+mysql中文乱码问题
乱码问题原因有多种,其中有一种是由于MySQL默认使用 ISO-8859-1 ( 即Latin1 ) 字符集,而JAVA内部使用Unicode编码,因此在JAVA中向MYSQL数据库插入数据时,或者读 ...
- java web乱码_【SpringBoot WEB 系列】RestTemplate 之中文乱码问题 fix
[WEB 系列]RestTemplate 之中文乱码问题 fix 在 RestTemplate 基础用法博文中,post json 表单时,会发现存在中文乱码问题,本文主要介绍对应的解决方案 I. 中 ...
- 使用eclipse开发web项目运行时出现中文乱码问题
使用eclipse开发web项目运行时出现中文乱码问题 检查Tomcat sever.xml中的编码设置是否为 utf-8 ,不是的话改一下: <?xml version="1.0&q ...
- java读取.properties文件及解决中文乱码问题
java读取.properties文件及解决中文乱码问题 参考文章: (1)java读取.properties文件及解决中文乱码问题 (2)https://www.cnblogs.com/helloq ...
- linux mysql插入数据乱码_linux mysql数据库中文乱码
mysql中文乱码 mysql是我们项目中非常常用的数据型数据库.但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况.下面就来介绍一下如何彻底解决数据库中文乱码情况. 1.中文乱码 1. ...
- vscode新建html中文乱码,vscode中html中文乱码 怎么办
vscode中html中文乱码 怎么办?VSCode 中文乱码解决办法 文件 >> 首选项 >> 设置 搜索:"files.autoGuessEncoding&quo ...
- mysql不同版本乱码_解决MySQL中文乱码以及版本不一致问题_MySQL
一.导出数据 先说明一下自己的环境:Mac OS X 10.8.3, MySQL Community Server 5.6.10, MySQL Workbench 5.2.47. 我想把本机数据库内的 ...
- php在传json中文乱码,解决php json中文乱码问题
解决php json中文乱码问题 php json中文乱码的解决办法:首先将类中的中文字段进行url编码:然后再将对象进行json编码:最后进行url解码即可解决乱码问题. 推荐:<PHP视频教 ...
- php压缩中文乱码,完美解决PHP中文乱码
一.首先是PHP网页的编码 1.php文件本身的编码与网页的编码应匹配 a.如果欲使用gb2312编码,那么php要输出头:header("Content-Type:text/html;ch ...
最新文章
- RabbitMQ(八):SpringBoot 整合 RabbitMQ(三种消息确认机制以及消费端限流)
- Windows从web下载文件的几种方式
- Web环境从Apache转Nginx后页面报404错误
- Nginx映射本地json文件,配置解决浏览器跨域问题,提供前端get请求模拟数据
- MySQL 复制 - 性能与扩展性的基石:概述及其原理
- vs2017 java sdk_系统无法找到Visual Studio 2017 ASP.NET核心项目
- Restful API 架构与设计参考原则
- Magento: 左栏筛选条件 Select Box / Button / Dropdown List on Layered Navigation
- 【完美】SpringBoot中使用注解来实现 Redis 分布式锁
- OFDM系统MATLAB仿真
- 使用PHP对word文档进行操作的方法
- python之range与xrange使用区别
- 基于3D关节点的人体动作识别综述
- DIY智能战车制作教程,开启你的造车之旅
- 图像拼接算法总结(一)
- 对讲机的单工、双工介绍
- 淘宝天猫自动领券优惠券淘口令方法和工具
- 傲腾服务器系统,服务器加傲腾内存
- 网易2019实习生招聘编程题集合
- Simulink的S函数仿真一阶RL和二阶RLC电路电路
热门文章
- Spring与SpringMVC的区别
- Win8 忘记密码 解决办法【在E450c实测有效】
- delphi idtcpclient和idtcpserver的心跳包
- 互联网金融盯上房地产资金饥渴症
- iOS 开发之 - iOS6 适配, UITextField 文本,placeholder没有居中对齐
- Men and women can't be 'just friends
- Javascript中递归造成的堆栈溢出及解决方案
- 【推荐视频】中科院赵军:知识图谱关键技术及其在推荐系统中的应用
- 2015-2020年各类国际会议与期刊基于图像的三维对象重建论文综述(5)——Leveraging other clues
- 剑指offer 面试题17. 打印从1到最大的n位数