一、为什么会出现中文乱码问题:

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中文乱码问题解决相关推荐

  1. java怎么解决页面乱码问题_java页面中文乱码的解决办法

    骚年啊,资源文件名不要有中文啊,这可是常识啊 而且文件名不要有空格,不然容易悲剧 ######回复 @汪兴 : 有一个办法规避,就是上传的文件名更名为hash,实际上很多网站都这么做的,最终在页面上的 ...

  2. mysql中文乱码解决_java+mysql中文乱码问题

    乱码问题原因有多种,其中有一种是由于MySQL默认使用 ISO-8859-1 ( 即Latin1 ) 字符集,而JAVA内部使用Unicode编码,因此在JAVA中向MYSQL数据库插入数据时,或者读 ...

  3. java web乱码_【SpringBoot WEB 系列】RestTemplate 之中文乱码问题 fix

    [WEB 系列]RestTemplate 之中文乱码问题 fix 在 RestTemplate 基础用法博文中,post json 表单时,会发现存在中文乱码问题,本文主要介绍对应的解决方案 I. 中 ...

  4. 使用eclipse开发web项目运行时出现中文乱码问题

    使用eclipse开发web项目运行时出现中文乱码问题 检查Tomcat sever.xml中的编码设置是否为 utf-8 ,不是的话改一下: <?xml version="1.0&q ...

  5. java读取.properties文件及解决中文乱码问题

    java读取.properties文件及解决中文乱码问题 参考文章: (1)java读取.properties文件及解决中文乱码问题 (2)https://www.cnblogs.com/helloq ...

  6. linux mysql插入数据乱码_linux mysql数据库中文乱码

    mysql中文乱码 mysql是我们项目中非常常用的数据型数据库.但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况.下面就来介绍一下如何彻底解决数据库中文乱码情况. 1.中文乱码 1. ...

  7. vscode新建html中文乱码,vscode中html中文乱码 怎么办

    vscode中html中文乱码 怎么办?VSCode 中文乱码解决办法 文件 >> 首选项 >> 设置 搜索:"files.autoGuessEncoding&quo ...

  8. mysql不同版本乱码_解决MySQL中文乱码以及版本不一致问题_MySQL

    一.导出数据 先说明一下自己的环境:Mac OS X 10.8.3, MySQL Community Server 5.6.10, MySQL Workbench 5.2.47. 我想把本机数据库内的 ...

  9. php在传json中文乱码,解决php json中文乱码问题

    解决php json中文乱码问题 php json中文乱码的解决办法:首先将类中的中文字段进行url编码:然后再将对象进行json编码:最后进行url解码即可解决乱码问题. 推荐:<PHP视频教 ...

  10. php压缩中文乱码,完美解决PHP中文乱码

    一.首先是PHP网页的编码 1.php文件本身的编码与网页的编码应匹配 a.如果欲使用gb2312编码,那么php要输出头:header("Content-Type:text/html;ch ...

最新文章

  1. RabbitMQ(八):SpringBoot 整合 RabbitMQ(三种消息确认机制以及消费端限流)
  2. Windows从web下载文件的几种方式
  3. Web环境从Apache转Nginx后页面报404错误
  4. Nginx映射本地json文件,配置解决浏览器跨域问题,提供前端get请求模拟数据
  5. MySQL 复制 - 性能与扩展性的基石:概述及其原理
  6. vs2017 java sdk_系统无法找到Visual Studio 2017 ASP.NET核心项目
  7. Restful API 架构与设计参考原则
  8. Magento: 左栏筛选条件 Select Box / Button / Dropdown List on Layered Navigation
  9. 【完美】SpringBoot中使用注解来实现 Redis 分布式锁
  10. OFDM系统MATLAB仿真
  11. 使用PHP对word文档进行操作的方法
  12. python之range与xrange使用区别
  13. 基于3D关节点的人体动作识别综述
  14. DIY智能战车制作教程,开启你的造车之旅
  15. 图像拼接算法总结(一)
  16. 对讲机的单工、双工介绍
  17. 淘宝天猫自动领券优惠券淘口令方法和工具
  18. 傲腾服务器系统,服务器加傲腾内存
  19. 网易2019实习生招聘编程题集合
  20. Simulink的S函数仿真一阶RL和二阶RLC电路电路

热门文章

  1. Spring与SpringMVC的区别
  2. Win8 忘记密码 解决办法【在E450c实测有效】
  3. delphi idtcpclient和idtcpserver的心跳包
  4. 互联网金融盯上房地产资金饥渴症
  5. iOS 开发之 - iOS6 适配, UITextField 文本,placeholder没有居中对齐
  6. Men and women can't be 'just friends
  7. Javascript中递归造成的堆栈溢出及解决方案
  8. 【推荐视频】中科院赵军:知识图谱关键技术及其在推荐系统中的应用
  9. 2015-2020年各类国际会议与期刊基于图像的三维对象重建论文综述(5)——Leveraging other clues
  10. 剑指offer 面试题17. 打印从1到最大的n位数