java web上传下载乱码问题解决方法
文件下载中文乱码,因为http请求url和header要求只能通过ascii码,对于其他字符则不行,需要转码。而不同浏览器的处理方式右不一样。
解决方法一:
/**
* 乱码解决
* @throws UnsupportedEncodingException
* */
private static String toUtf8BytesString(String fileName, HttpServletRequest req) throws UnsupportedEncodingException {
//return new String(fileName.getBytes("GBK"), "ISO8859-1");
if(req.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0){
return URLEncoder.encode(fileName, "UTF-8");
}else{
return new String(fileName.getBytes("UTF-8"), "ISO8859-1");
}
}
解决方法二:
这种方法在 windows 中文系统新版firefox、ie、chrome下下载不会乱码,不知道其他系统默认字符集非gbk的会不会有问题
new String(fileName.getBytes("gbk"), "ISO8859-1")
参考资料:
http://www.ruanyifeng.com/blog/2010/02/url_encoding.html
java web上传下载乱码问题解决方法的更多相关文章
- 2013第38周日Java文件上传下载收集思考
2013第38周日Java文件上传&下载收集思考 感觉文件上传及下载操作很常用,之前简单搜集过一些东西,没有及时学习总结,现在基本没啥印象了,今天就再次学习下,记录下自己目前知识背景下对该类问 ...
- java中文上传下载功能实现(自己测试项目)
1.新建maven项目打war包 2.搭建springMVC框架 web.xml文件配置 <?xml version="1.0" encoding="UTF-8&q ...
- java文件上传下载组件
需求: 支持大文件批量上传(20G)和下载,同时需要保证上传期间用户电脑不出现卡死等体验: 内网百兆网络上传速度为12MB/S 服务器内存占用低 支持文件夹上传,文件夹中的文件数量达到1万个以上,且包 ...
- Robot Framework--13 RFS+AutoItLibrary测试web上传下载
转自:http://blog.csdn.net/tulituqi/article/details/21888059 Selenium2library在我们实际测试web页面的时候基本上已经够用了,不过 ...
- fastDFS与Java整合上传下载
由于项目需要整合个文件管理,选择使用的是fastDFS. 整合使用还是很方便的. 准备 下载fastdfs-client-java源码 源码地址 密码:s3sw 修改pom.xml 第一个plugin ...
- Java Sftp上传下载文件
需要使用jar包 jsch-0.1.50.jar sftp上传下载实现类 package com.bstek.transit.sftp; import java.io.File; import ja ...
- Java.ftp上传下载
1:jar的maven的引用: 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="ht ...
- java FTP 上传下载删除文件
在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件.下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件 ...
- Java文件上传下载原理
文件上传下载原理 在TCP/IP中,最早出现的文件上传机制是FTP.它是将文件由客户端发送到服务器的标准机制. 但是在jsp编程中不能使用FTP方法来上传文件,这是由jsp运行机制所决定的 文件上传原 ...
随机推荐
- mysql导出表数据
mysqldump -upcrm -ppcrmUser*1 -h192.168.01.01 -P3399 ecrm_order0 T_EOrder>bak.sql MYSQLdump参数详解 m ...
- C#获取外网IP
思路是通过WebRequest连接一些网上提供IP查询服务的网站,下载到含有你的IP的网页,然后用正则表达式提取出IP来 class Program { static void Main(string ...
- .net中ckeditor的应用
①js文件的引入 <script src="/public/ckeditor_4.4.7/ckeditor.js"></script> <script ...
- HDU 2544 单源最短路
题目链接: 传送门 最短路 Time Limit: 1000MS Memory Limit: 65536K 题目描述 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是 ...
- K米APP----案例分析
K米APP----案例分析 第一部分 调研,评测 第一次上手体验 软件的美工做得不错,功能排版很清楚,用户很容易上手,不至于用户不知道怎么用这个APP点歌 软件最主要的功能是KTV的点歌功能,这个功能 ...
- 通过System.getProperties()获取系统参数
Properties props=System.getProperties(); //系统属性 System.out.println("Java的运行环境版本:"+props ...
- Base64复习
http://www.cnblogs.com/chengxiaohui/articles/3951129.html
- sql总结一
建表: select * from fruit; create table fruit ( id varchar(10) not null, name varchar(20) default '' n ...
- arcglobe 图层三大类说明
若是第一次打开,且在网络连接通畅的情况下,你会发现目录中已有部分数据层,这些数据层是由ArcGIS Online的在线数据:Imagery图层即在线的影像数据.高程数据.地名数据.运输线数据. Arc ...
- Java Map 简介
AbstractMap, Attributes, AuthProvider, ConcurrentHashMap, ConcurrentSkipListMap, EnumMap, HashMap, H ...