文档章节

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
关于java发送http请求时中文乱码的一种解决办法

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

chace0120
2014/03/13
0
0
spring boot 解决后台返回 json 到前台中文乱码之后出现返回json数据报错 500

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

陈守印
06/15
0
0
java web中中文乱码问题汇总

[关于使用java 进行的javaweb开发时候的中文乱码的解决方法][1] [1]: http://blog.sina.com.cn/s/blog_6cadcce70101ep77.html 如下是其中的内容: 1,jsp页面中文乱码解决办法:文件头部定义...

小老傅
2014/03/07
0
0
Activiti5.9换成MySQL数据库

本人博客开始迁移,博客整个架构自己搭建及编码 http://www.cookqq.com/listBlog.action Activiti5.9默认的数据库是db,可是我们项目中运用的是mysql,那只好把db换成mysql 步骤: 1.下载act...

cookqq
2013/03/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ZOOKEEPER安装记录

本文借鉴了链接的内容,但是有几部分需要注意: 下载zookeeper的位置是:连接; 执行这两部,得再root下,sudo不能用,还不知道为啥。

恰东
4分钟前
0
0
解决你的无线路由器被蹭网烦恼

教你几招提高无线路由器的安全性-再也不用担心蹭网了。随着无线网络的普及,无线网络的安全问题越来越严重。本文教你几招提高家用无线路由器的安全性,再也不用担心蹭网了。 随着无线网络的普...

linuxprobe16
8分钟前
0
0
分布式系统消息中间件—RabbitMQ的使用进阶篇

前言: 这篇文章主要总结一下RabbitMQ在日常项目开发中比较常用的几个特性。 一。 mandatory 参数 上一篇文章中我们知道,生产者将消息发送到RabbitMQ的交换器中通过RoutingKey与BindingKey的...

Java干货分享
9分钟前
0
0
RabbitMQ清除队列中的所有消息

最近在研究 RabbitMQ 消息队列,安装好进行测试的时候发觉在一个名为 MyRabbitMQ 的消息队列中已经插入了大量的数据。 最后不得不找方法清除。 linux或者windows 输入命令: rabbitmqctl li...

覃大光
13分钟前
0
0
java equals和==的区别

public class StaticDemo { public static void main(String[] args) { /** * 1、包装类的“==”运算在未遇到算术运算的情况下不会自动拆箱(堆中存储的地址是否相同,即栈中的内容是否相同)...

恋码之子
16分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部