1)背景:
使用URLRequest和FileReference进行上传;后台均使用utf-8字符编码;上传组件使用cos
2)乱码原因:
其一:上传附件标题是乱码,原因是URLRequest没法设置字符集类型,FileReference在上传的时候使用了iso8859-1,如果是java后台解决办法如下:
fileName=new String( filePart.getFileName().getBytes("iso8859-1"), "utf8" );
其二:
发送附件时,接收方接受附件,中文标题显示乱码。原因:
因为MIME规范要求附件标题必须是US-ASCII字符
解决办法很简单,对文件名进行编码再发送:
mbp.setFileName(MimeUtility.encodeText(filename));
一般情况下接收端会自己解码,如果是java的接受端会如下:
String filename = MimeUtility.decodeText(part.getFileName());
附:
JavaMail API是Java平台的一个可选包,同时也是J2EE规范的一部分。它提供了一个独立于系统平台和具体协议的邮件框架,可以用以实现email相关的各项应用。Sun所实现的的最新版本(
JavaMail API 1.4 EA)中已经对中文有很好的支持,但发送中文名称的附件仍然会出现
乱码问题。这并不是Sun本身造成的bug,而是因为MIME规范要求附件标题必须是US-ASCII字符,同时又不允许对参数进行编码,因此JavaMail API中并不会主动对含有非ASCII字符的文件名进行编码处理。但是,JavaMail同时也提供了工具类使得用户可以方便的对类似情况进行手工处理:
对文件名进行编码:
mbp.setFileName(MimeUtility.encodeText(filename));
对文件名进行解码:
String filename = MimeUtility.decodeText(part.getFileName());
分享到:
相关推荐
解决Flex不同浏览器中文乱码问题
flex上传下载 企业应用并解决乱码问题 包括服务端java 以及flex 客户端代码 并解决中文乱码
flex读取xml乱码的解决方法
flex php显示乱码解决,flex 显示php调用mysql 数据时,各种乱码问题。
as3里的中文默认是utf16 而在服务器端参数的传递与接收默认是utf8格式
例子里写了 文件上传 预览 下载方法, 以及预览 下载时中文名文件乱码问题的处理方法 希望对大家有用处
flex上传文件夹插件,可以方便的上传文件夹,可以添加到支持flash的环境中。
Flex和Servlet结合使用,文件上传、下载
Flex 图片上传 实例 源码Flex图片上传实例
自己开发的flash上传demo,flex上传技术,无刷新上传,显示进度,后台处理程序为php,且支持批量上传。
flex上传控件,带进度、时间、速度显示,需要源代码的可以邮件harry95@163.com
flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图...
Flex问题解决大全, 可学到不少技巧, 仅限科学研究用.
flex的labelRotation解决方法,主要就是字体的问题,从系统拷贝一份出来
Flex+WebServiceFlex附件上传的小教程就是个我以前看过保存的网页,觉得好就拿来当资源,就1分下完别说我骗你~
用flex实现图片上传带预览功能。各位可以试试。
Flex 文件上传的文件代码 交你一步一步的完成上传功能
FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效
Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex ...
asp.net+flex 批量上传文件 包含 asp.net 和 flex 的工程源代码