HttpServletResponse.getWriter().print乱码,request.getHeader乱码,解决方法
1、添加响应类型即可
//这句话的意思,是让浏览器用utf8来解析返回的数据
response.setHeader("Content-type", "text/html;charset=UTF-8");
添加前后:
如果是header参数乱码,解决方法如下:
HTTP Header 的编解码
当客户端发起一个 HTTP 请求除了上面的 URL 外还可能会在 Header 中传递其它参数如 Cookie、redirectPath 等,这些用户设置的值很可能也会存在编码问题,Tomcat 对它们又是怎么解码的呢?
对 Header 中的项进行解码也是在调用 request.getHeader 是进行的,如果请求的 Header 项没有解码则调用 MessageBytes 的 toString 方法,这个方法将从 byte 到 char 的转化使用的默认编码也是 ISO-8859-1,而我们也不能设置 Header 的其它解码格式,所以如果你设置 Header 中有非 ASCII 字符解码肯定会有乱码。
我们在添加 Header 时也是同样的道理,不要在 Header 中传递非 ASCII 字符,如果一定要传递的话,我们可以先将这些字符用 org.apache.catalina.util.URLEncoder 编码然后再添加到 Header 中,这样在浏览器到服务器的传递过程中就不会丢失信息了,如果我们要访问这些项时再按照相应的字符集解码就好了。
附:URLEncoder 、URLDecoder 转码解码使用
传递参数,转码传递
String encodeStr = null; try {encodeStr = URLEncoder.encode("aabb22中国", "utf-8"); } catch (UnsupportedEncodingException e) {e.printStackTrace(); } System.out.println("lgq处理后:" + encodeStr);client.addHeader("headkey", encodeStr);//添加header请求参数方法
接收参数,解码显示
String name=(String) request.getHeader("headkey");
String decodeStr = URLDecoder.decode(name, "utf-8");
System.out.println("hhhhhhhhhhhhhhhhh=====发 的==="+decodeStr);//获取header请求参数
结果:
hhhhhhhhhhhhhhhhh=====发 的===aabb22中国
HttpServletResponse.getWriter().print乱码,request.getHeader乱码,解决方法相关推荐
- ajax注解解决中文乱码,基于注解的简单MVC框架的实现,以及jquery,prototype,ajax传输乱码问题的一点解决方法...
1:基于注解的简单MVC框架的实现 效果:1:用户只需要定义一些普通的java类来做为M层,也就是STRUTS的action类,该类里包含1到 N个控制方法,每个方法需要的form数据,由注解@Act ...
- linux安装 中文乱码怎么解决方法,Linux安装GBK/GB2312程序显示乱码的五种解决方法...
不少用户在Linux系统中安装GBK或GB2312的时候遇到了乱码问题,这主要是系统默认语言是uft8所导致,对于该问题可用五种方法进行解决,接下来是小编为大家收集的Linux安装GBK/GB2312 ...
- myeclipse连接mysql生成数据表时中文字符乱码或问号(解决方法)
myeclipse连接mysql生成数据表时中文字符乱码或问号(解决方法) 参考文章: (1)myeclipse连接mysql生成数据表时中文字符乱码或问号(解决方法) (2)https://www. ...
- mysql5.7 解压版 中文乱码_MySQL 5.7解压版安装、卸载及乱码问题的图文解决方法...
1. 解压版的安装 (1). 下载压缩包并解压到一个磁盘位置 压缩包下载链接:https://dev.mysql.com/downloads/mysql/ 压缩包内容: (2). 写配置文件 复制my ...
- 服务器系统记事本乱码,win7系统记事本出现乱码的五种解决方法
win7系统自带有记事本功能,它是一个简单的文字编辑器,用户可直接打开记事本记录文字,相信大家对雨林木风win7系统的记事本在熟悉不过.然而有不少win7系统用户在打开记事本的时候出现乱码,这是怎么回 ...
- android u盘盘符乱码,分享U盘中文件出现乱码的原因以及解决方法
当使用U盘时发现U盘文件成了乱码,就算将U盘拔插了几次也无法恢复,这是怎么回事呢?U盘文件出现乱码又应该如何解决呢?接下来就为大家分享U盘中文件出现乱码的原因以及解决方法. u盘出现乱码的原因: 1. ...
- php 日文中文乱码,phpgd库中文乱码的产生与解决方法详解 || mao的博客
在php jpgraph安装教程之验证php环境是否支持jpgraph安装方法的php教程中我提到了gd库的验证,对于jpgraph中文使用者来说使用 jpgraph时不产生中文乱码是非常必要的,而g ...
- 台式计算机有乱码如何解决,台式电脑键盘乱码的两种解决方法
台式电脑键盘乱码怎么办?近来,不少用户反馈自己遇到了台式机键盘错乱的情况,输入之后出现一大推错误代码,该怎么解决呢?接下来,就随系统城小编一起看看台式电脑键盘乱码的两种解决方法吧! 台式机键盘乱码解决 ...
- mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法
mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法 1.先查看库.表.表字符字段的编码格式.MySQL默认的库和表的字符编码都是latin1,而我们一般需要使用 utf8 //先查看 ...
- 小程序不支持wx.request同步请求解决方法
小程序不支持wx.request同步请求解决方法 参考文章: (1)小程序不支持wx.request同步请求解决方法 (2)https://www.cnblogs.com/bainiu/p/77038 ...
最新文章
- 01.移动先行之谁主沉浮----我的第一个程序
- RocketMQ学习(一):简介和QuickStart
- 离散数学复习命题公式的范式
- 1365 浴火银河星际跳跃 (并查集)
- Redis学习-sorted set数据类型
- 【LiveVideoStack线上分享】— 视频生产环境下的音视频解决方案
- 心动的本质是什么_《心动的信号3》:在“烟火气”里嗑糖,素人恋爱究竟有多上头?...
- 风控关系网络的策略分析
- python 中的copy与deepcopy
- 每周荐书:分布式、深度学习算法、iOS(评论送书)
- jmeter接口测试
- Edxposed研究之Magisk源码下载编译的详细实战教程
- word转pdf或者打印后题注编号变成大写
- 关于什么是AndroidX(一)
- (附源码)php积极心理学交流网站 毕业设计 100623
- 智商情商哪个重要_你认为哪个更重要,情商还是智商?为什么?
- JavaWeb个人博客项目:手把手教你实现博客后台系统之管理员管理模块5
- Java学习笔记 算法 Algorithms Fourth Edition
- 【字面量与变量的区别】
- 强烈质疑第二届Android应用开发中国大学生挑战赛