文档章节

Java关于前后台传输中文乱码以及Excel下载乱码解决

勤奋的蚂蚁
 勤奋的蚂蚁
发布于 08/16 14:06
字数 323
阅读 9
收藏 2

针对乱码,一般情况是前后台以及中间件编码格式不同导致.故需要保证编码格式相同即可.

1.前台页面格式指定,这里用的是jsp,故需要将pageEncoding指定为"UTF-8"

2.指定服务器编码格式,比如用的tomcat,默认是"ISO-8859-1",打开server.xml找到"<Connector",添加URIEncoding="UTF-8".

3.若服务器未指定编码格式,需要在接收的地方强制转码,new String("传递的中文参数".getBytes("ISO-8859-1"),"UTF-8"),若指定服务器编码,则不需要强制转换,否则转换两次则转换成其他字符.

4.Excel下载中,需要根据浏览器指定编码,具体如下:

String agent = request.getHeader("USER-AGENT").toLowerCase();

String codeFileName = java.net.URLEncoding.encode(fileName, "UTF-8");

if(agent.contains("firefox")) {

   response.setCharacterEncoding("UTF-8");

   response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes(), "ISO-8859-1") + ".xls");

} else {

   response.setHeader("Content-Disposition", "attachment;filename=" + codeFileName + ".xls"); 

}

© 著作权归作者所有

共有 人打赏支持
勤奋的蚂蚁
粉丝 7
博文 51
码字总数 13737
作品 0
海淀
私信 提问
Tomcat中文乱码问题的原理和解决方法

Tomcat中文乱码问题的原理和解决方法   自从接触Java和JSP以来,就不断与Java的中文乱码问题打交道,现在终于得到了彻底的解决,现将我们的解决心得与大家共享。   一、Java中文问题的由...

孙斐
2013/02/26
0
0
spring boot 解决后台返回 json 到前台中文乱码之后出现返回json数据报错 500

问题描述 spring Boot 中文返回给浏览器乱码 解析成问号?? fastJson jackJson spring boot 新增配置解决后台返回 json 到前台中文乱码之后,出现返回json数据报错:no convertter for retur...

陈守印
06/15
0
0
关于java发送http请求时中文乱码的一种解决办法

在jsp中常见的乱码解决办法无外乎是关于get和post两种方式的,但只有切实地在实践中使用时才会注意或者说注重到其他方式。例如,在http请求头中传送中文参数,出现乱码,如何解决? 实际场景...

chace0120
2014/03/13
0
0
jxl导入/导出Excel(Maven)

About jxl is a pure java 5 super-project that includes Enclosure, Peermi, Enshell, and Xlp. jxl && POI jxl是一个开源的Java Excel API项目,通过Jxl,Java可以很方便的操作微软的Exc......

coderzs
2017/08/31
0
0
response.setHeader()的用法 (转别人转的)

response.setHeader()下载中文文件名乱码问题 收藏 1. HTTP消息头 (1)通用信息头 即能用于请求消息中,也能用于响应信息中,但与被传输的实体内容没有关系的信息头,如Data,Pragma 主要: Cac...

yifon
2014/04/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Confluence 6 教程:在 Confluence 中导航

当你对 Confluence 有所了解后,你会发现 Confluence 使用起来非常简单。这个教程主要是针对你使用的 Confluence 界面进行一些说明,同时向你展示在那里可以进行一些通用的任务和操作。 空间...

honeymose
33分钟前
2
0
sed, awk 练习

1. sed打印某行到某行之间的内容 2. sed 转换大小写 将单词首字母转化大写 将所有小写转化大写 3. sed 在某一行最后面添加一个数字 4. 删除某行到最后一行 解析: {:a;N;$!ba;d} :a : 是...

Fc丶
今天
2
0
babel6升级到7,jest-babel报错:Requires Babel "^7.0.0-0", but was loaded with "6.26.3".

自从将前端环境更新到babel7,jest-babel之前是基于babel6的,执行时候就会报:Requires Babel "^7.0.0-0", but was loaded with "6.26.3". 很烦,因为连续帮好几台电脑修复这个问题,所以记...

曾建凯
今天
1
0
探索802.11ax

802.11ax承诺在真实条件下改善峰值性能和最差情况。 如何改善今天的Wi-Fi? 在决定如何改进当前版本以外的Wi-Fi时,802.11ac,IEEE和Wi-Fi联盟调查了Wi-Fi部署和行为,以确定更广泛使用的障碍...

linuxprobe16
今天
2
0
使用linux将64G的SDCARD格式化为FAT32

一、命令如下: sudo fdisk -lsudo mkfs.vfat /dev/sda -Isudo fdisk /dev/sda Welcome to fdisk (util-linux 2.29.2). Changes will remain in memory only, until you decide to wri......

mbzhong
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部