JavaEE下载文件名不显示中文的问题

  我们在做JavaEE项目下载文件时,在我们熟悉的UTF-8编码下经常会发现文件名中文乱码、中文不显示等状况,此时,将文

件名改一下编码或许会解决这个烦恼:

  fileName = new String(fileName.replace(" ", "_").getBytes("UTF-8"), "ISO-8859-1");

【注:将空格用下划线替换是为了防止文件名中有空格时下载被firefox截断】

因为http协议默认传输的编码就是iso-8859-1,tomcat也默认采用ISO-8859-1编码集,所以我们转为这个编码集就会解决一

部分乱码的问题。当然,JavaEE项目中造成中文乱码的可能原因很多,下边列出了网上的一些总结,感谢小伙伴们分享!

http://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/

http://www.cnblogs.com/yezhenhan/archive/2011/01/14/1935376.html

时间: 2024-10-16 13:39:50

JavaEE下载文件名不显示中文的问题的相关文章

解决跨浏览器下PHP下载文件名中的中文乱码问题

$ua = $_SERVER["HTTP_USER_AGENT"]; $filename = "中文 文件名.txt"; $encoded_filename = urlencode($filename); $encoded_filename = str_replace("+", "%20", $encoded_filename); header('Content-Type: application/octet-stream')

解决ckeditor中文路径无法下载,无法显示图片问题

使用ckfinder上传的文件如果是中文路径,下载的时候会找不到 假如使用tomcat服务器,找到tomcat目录>conf文件夹的server.xml>用查找找到Connector这个 <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" /> 这里的端口应该与项目使用的端口一致

解决各大浏览器下载文件乱码以及Firefox下载文件名不全问题

最近做项目,采用Spring MVC做控制层,下载文件的文件名总是在主流浏览器上显示乱码,Firfox不是乱码了,IE下又成了乱码.也是烦,IE总是独树一帜,没办法,只能让程序去适应,在网上也搜索了很多,但是解决的不理想,主要是IE11作为主流浏览器后,很多人之前提出的方案都失效了. 简单来说,之前使用request获取header中的user-agent,通过MSIE关键字来判断是否是IE浏览器,如果是IE浏览器,使用utf-8对文件名编码就可以了.然而,IE11的user-agent已经没有

5月9日 页面不显示中文

若页面不显示中文,可能原因: 1.由于适用的 Cufon字体包不支持中文造成的. 解决方法:下载cufon中文包,下载地址:http://i.cnblogs.com/Files.aspx 将相应的js解压到原先的js存放目录下,覆盖cufon-yui然后将代码引用的<script src="js/(文件名).font.js" type="text/javascript"></script>改为<script src="js/V

XShell连接CentOS 7.2显示中文乱码问题的解决方法

背景 使用U盘往Windows主机.Linux主机传文件还是经常的事,但有时候文件名有中文, 传到Linux机器会有乱码,选择起来也很麻烦,最近刚好遇到,写下解决方法. 环境 Linux [[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [[email protected]-base ~]# echo $LANG en_US.UTF-8 [[email protected]-ba

Tiny Core Linux 显示中文的方法

Tiny Core Linux的下载地址: http://www.tinycorelinux.net/downloads.html 当前的版本为:4.7.5 每个人的需求都不一样,我选择 Tiny Core Linux 的原因很简单--因为体积小.建立这个系统的目的就是看看网页,所以只要让网页浏览器能正常显示出中文即可. 一.利用ISO文件启动计算机,启动后安装"tc-install.tcz",这个程序是部署系统的GUI工具. 二.运行"Tiny Core Installat

Qt学习笔记-嵌入式qt程序支持显示中文

移植后得qt程序在开发板上运行时无法显示中文. 拷贝windows中的字体也不行. 从网上找到方法. 添加以下代码:需要头文件  #include <QTextCodec> QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")); QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); //支持Tr中文 QText

cocos2d-x学习笔记(六)TextBMFont控件显示中文乱码或者无法显示

今天用cocos studio加了一个TextBMFont控件,然后需要动态修改TextBMFont控件显示的字符串,用来显示中文的,结果一直无法修改TextBMFont控件的值,最后原来是写到xml文件的中文字符串没有保存成UTF-8格式. ===================================================================================== 记录一下完整实现步骤 一.制作BMFont字体 1.下载并安装BMFont软件 2.

[转载]centos 6.4中git如何正常显示中文

FROM: http://ju.outofmemory.cn/entry/63250 系统版本:centos 6.4 git版本:1.7.1,使用yum直接安装的. 当使用git status查看时,如果文件名是中文,那么就会显示乱码(确实的说是转义后的字符),如下图: git查看文件时中文无法正常显示 怎样才能正常显示中文呢? 1.系统本身支持中文 如果系统不支持中文显示,需要安装相应的语言包和配置.关于这方面网上有很多介绍,就不多说明了. 2.修改git的核心配置quotepath为fals