加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex 导出excel时文件名乱码的问题

发布时间:2020-12-15 01:05:47 所属栏目:百科 来源:网络整理
导读:? 朋友导出Excel时,文件名被乱码问题困扰,于是试了下,半天才知道解决方法, 呵呵! 在Flex端需要对中文uri编码,java端接收的时候不是解码,同样是编码,具体代码如下,希望用到的可以参考,不明白的留言,呵呵! ??????欢迎加入flex群: 124616997 (可获得源码) ? ???
?

朋友导出Excel时,文件名被乱码问题困扰,于是试了下,半天才知道解决方法,呵呵! 在Flex端需要对中文uri编码,java端接收的时候不是解码,同样是编码,具体代码如下,希望用到的可以参考,不明白的留言,呵呵!

??????欢迎加入flex群: 124616997(可获得源码)

?

????? Servlet部分自己配置,Flex页面代码如下:

?

?<fx:Script>
??<![CDATA[
???import flash.net.navigateToURL;
???
???protected function getDown():void
???{
????var fileName:String=txtFileName.text;
????
????if(!fileName=="")
????{
?????var urlRequest:URLRequest=new URLRequest("./ExcelDownServlet?filename="+encodeURI(fileName));
?????navigateToURL(urlRequest,"_self");
????}
???}
??]]>
?</fx:Script>
?<s:TextInput id="txtFileName" x="60" y="58" text="乘风破浪" focusIn="{txtFileName.text='';}" />
?<s:Button id="fuck" x="207" y="58" label="下载Excel" click="getDown()"/>

?

Java端处理方法如下:

req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");

String filename =req.getParameter("filename")+".xls";?
filename = URLEncoder.encode(filename,"iso8859-1");//这里根据服务器的设置去修改参数

resp.setContentType("application/vnd.xls;charset=utf-8");
resp.setHeader("Content-Disposition","attachment;filename="+filename);

这样每次导出的时候文件名都是中文,呵呵!

?

乱码总结:

??????1 以上是没有修改tomcat编码情况下,默认为iso8859-1!

????? 2 使用中文路径时,有时需要修改tomcat 编码URIEncoding="UTF-8",或者在Java后台手动处理访问路径!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读