biko3
小狐狸
小狐狸
  • UID29661
  • 注册日期2009-07-15
  • 最后登录2015-03-02
  • 发帖数46
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:4015回复:8

默认下载,文件名乱码

楼主#
更多 发布于:2010-10-02 00:59
如图!这是下面的链接:http://u.115.com/file/t2677791b9 在这里请教各位,请问如何解决!

coffilk
小狐狸
小狐狸
  • UID33808
  • 注册日期2010-08-26
  • 最后登录2016-12-01
  • 发帖数76
  • 经验12枚
  • 威望0点
  • 贡献值4点
  • 好评度0点
1楼#
发布于:2010-10-02 00:59
这个应该是UTF8的问题吧
alanfly
千年狐狸
千年狐狸
  • UID31035
  • 注册日期2009-11-10
  • 最后登录2024-05-02
  • 发帖数2766
  • 经验577枚
  • 威望1点
  • 贡献值128点
  • 好评度99点
  • 社区居民
  • 最爱沙发
  • 忠实会员
2楼#
发布于:2010-10-02 00:59
试了下,的确是编码的问题,把页面编码改成GBK再点下载文件名就不会有乱码,猜测115页面使用了utf8,但是文件名却用的是GBK,由此导致乱码,解决方法我就不知道了。
dindog
千年狐狸
千年狐狸
  • UID30818
  • 注册日期2009-10-24
  • 最后登录2023-02-03
  • 发帖数1195
  • 经验59枚
  • 威望0点
  • 贡献值26点
  • 好评度10点
3楼#
发布于:2010-10-02 00:59
楼上的,不过IE下很正常。。。。。。巧啊,楼主,看传送门:
文件名编码的问题
http://g.mozest.com/thread-35965-1-1

早你一点
以前firefox跳个票的时间现在可以发布几个正式版了-_-
98118
禁止发言
禁止发言
  • UID75
  • 注册日期2004-11-23
  • 最后登录2018-05-22
  • 发帖数1271
  • 经验-126枚
  • 威望0点
  • 贡献值-352点
  • 好评度-213点
  • 社区居民
  • 忠实会员
4楼#
发布于:2010-10-02 00:59
用户被禁言,该主题自动屏蔽!
alanfly
千年狐狸
千年狐狸
  • UID31035
  • 注册日期2009-11-10
  • 最后登录2024-05-02
  • 发帖数2766
  • 经验577枚
  • 威望1点
  • 贡献值128点
  • 好评度99点
  • 社区居民
  • 最爱沙发
  • 忠实会员
5楼#
发布于:2010-10-02 00:59
我上面说错了,只有备份下载正常,其它两个都是乱码,改了编码也一样。
dindog
千年狐狸
千年狐狸
  • UID30818
  • 注册日期2009-10-24
  • 最后登录2023-02-03
  • 发帖数1195
  • 经验59枚
  • 威望0点
  • 贡献值26点
  • 好评度10点
6楼#
发布于:2010-10-02 00:59
98118:我这里没乱码?! 回到原帖

奇怪了。。。。。。为什么就这位不一样?自动选择编码也是Unicode的
以前firefox跳个票的时间现在可以发布几个正式版了-_-
biko3
小狐狸
小狐狸
  • UID29661
  • 注册日期2009-07-15
  • 最后登录2015-03-02
  • 发帖数46
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
7楼#
发布于:2010-10-02 00:59
只有点备份下载,文件名才正常。编码无论我选哪个都一样是乱码。
fiag
管理员
管理员
  • UID1188
  • 注册日期2004-12-21
  • 最后登录2024-04-22
  • 发帖数4681
  • 经验686枚
  • 威望0点
  • 贡献值402点
  • 好评度51点
8楼#
发布于:2010-10-02 00:59
从服务端解决的方法: http://blog.csdn.net/shixing_11/article/details/5858902

String agent = (String)request().getHeader("USER-AGENT");     
if(agent != null && agent.indexOf("MSIE") == -1) {// FF      
    String enableFileName = "=?UTF-8?B?" + (new String(Base64.encodeBase64(fileName.getBytes("UTF-8")))) + "?=";    
    response().setHeader("Content-Disposition", "attachment; filename=" + enableFileName);    
} else { // IE      
    String enableFileName = new String(fileName.getBytes("GBK"), "ISO-8859-1");    
    response().setHeader("Content-Disposition", "attachment; filename=" + enableFileName);    
}
游客

返回顶部