博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
j2ee关于响应头的传输猜想
阅读量:6332 次
发布时间:2019-06-22

本文共 669 字,大约阅读时间需要 2 分钟。

服务器默认使用iso8859-1的编码格式将数据发送到客户端。对于响应体可以使用respones.setContentType("text/html;charset=uft-8")语句来设置服务器的编码格式,并告知客户端使用指定的编码格式解码。

但是对于响应头,似乎无法起效。这一点是我在写“excel下载“时碰到的,相关代码如下:

response.setContentType("octets/stream;charset=uft-8"); // 通知浏览器发送的数据的编码格式是utf-8且服务器使用utf-8编码response

String filename = "职员列表";
filename = new String(filename.getBytes("gb2312"),"ISO8859-1");//浏览器将头部按照gbk解码
response.addHeader("Content-Disposition","attachment;filename=" + filename + ".xlsx");

这段代码中头部携带的filename必须进行gbk编码后再用iso解码成字符串。

它的原理应该如下:

  服务器端会按iso解码头部字符串,而客户端收到字节流后确实按gbk去解码。

  所以字节流需要是gbk编码格式,而为了让服务器正确将字符串编码成字节流,

  所以服务器端需要用iso格式解码字节流。

  

 

转载于:https://www.cnblogs.com/sxf2086he/p/7891412.html

你可能感兴趣的文章
UOJ#179. 线性规划(线性规划)
查看>>
整合spring cloud云架构 - SSO单点登录之OAuth2.0登录认证(1)
查看>>
windows的服务中的登录身份本地系统账户、本地服务账户和网络服务账户修改
查看>>
JAVA中循环删除list中元素的方法总结
查看>>
redis 安装
查看>>
SQL some any all
查看>>
电子书下载:Programming Windows Identity Foundation
查看>>
有理想的程序员必须知道的15件事
查看>>
用于测试的字符串
查看>>
财付通和支付宝资料收集
查看>>
PHPCMS V9数据库表结构分析
查看>>
理解 IEnumerable 与 IEnumerator
查看>>
NHibernate 2.0 Beta 1 Released和一些工具
查看>>
【每天一个Linux命令】12. Linux中which命令的用法
查看>>
软件接口数据一致性机制
查看>>
微服务架构介绍和RPC框架对比
查看>>
Debian下使用OpenLDAP 管理端
查看>>
泛型排序器TComparer
查看>>
9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路...
查看>>
创建符合标准的、有语意的HTML页面——ASP.NET 2.0 CSS Friendly Control Adapters 1.0发布...
查看>>