`
snoopy7713
  • 浏览: 1149054 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

zk下载文件中文乱码解决方案

    博客分类:
  • ZK
zk 
阅读更多
本文来自http://sun4love.iteye.com/blog/1068254 转载请注明
IE,chrome,ff,opera测试通过
Java代码 复制代码 收藏代码
  1. /**
  2. * User: sunflower
  3. * Date: 11-6-2
  4. * Time: 上午10:45
  5. */
  6. public class IndexController extends GenericForwardComposer {
  7. public void onDownfile() {
  8. try {
  9. String charset = "UTF-8";
  10. //服务器文件名
  11. String fileName = "Sip坐席通讯协议.txt";
  12. //编码后文件名
  13. String encodedName = null;
  14. encodedName = URLEncoder.encode(fileName,charset);
  15. //将空格替换为+号
  16. encodedName =encodedName.replace("%20","+");
  17. HttpServletRequest httpRequest =(HttpServletRequest) Executions.getCurrent().getNativeRequest();
  18. //解决ie6 bug 或者是火狐浏览器
  19. if (encodedName.length() > 150
  20. ||Servlets.isGecko(httpRequest)
  21. ||Servlets.isGecko3(httpRequest)) {
  22. encodedName = new String(fileName.getBytes(charset), "ISO8859-1");
  23. }
  24. Filedownload.save(new FileInputStream(ZkUtils.getRealPath("/" + fileName)),
  25. "application/octet-stream", encodedName);
  26. } catch (Exception e) {
  27. }
  28. }
  29. }
我直接修改了org.zkoss.web.servlet.http包底下的Https类的encodeFilename方法也可以解决这个问题.
Java代码 复制代码 收藏代码
  1. private static String encodeFilename(String flnm) {
  2. String filename = Strings.escape(flnm, "\"") ;
  3. [color=red]try {
  4. filename =URLEncoder.encode(filename, "UTF-8");
  5. } catch (UnsupportedEncodingException e) {
  6. e.printStackTrace();
  7. }[/color]
  8. return '"' + filename+ '"';
  9. }
private static String encodeFilename(String flnm) { String filename = Strings.escape(flnm, "\"") ; [color=red]try { filename =URLEncoder.encode(filename, "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); }[/color] return '"' + filename+ '"'; }

我用的是zk-5.0.5版本.
1 楼 sokoo108 2011-08-05 引用
你这也是一种方式,我也留下我的一种处理方式吧:

Java代码 复制代码 收藏代码
  1. Execution ex = Executions.getCurrent();
  2. HttpServletRequest request = (HttpServletRequest) ex.getNativeRequest();
  3. if (request.getHeader("User-Agent").indexOf("MSIE") != -1) {// ie
  4. docFilename = URLEncoder.encode(docFilename, "UTF-8");
  5. } else {// firefox
  6. docFilename = MimeUtility.encodeText(docFilename, "GBK", "B");
  7. }
分享到:
评论

相关推荐

    ZK开发文档中文HTML版

    这些内容将帮助开发者充分利用ZK的灵活性和可扩展性,为特定场景定制解决方案。 总的来说,"ZK开发文档中文HTML版"是一份全面的学习资源,适合初学者和有经验的开发者。通过阅读和实践,你可以掌握ZK框架的关键技术...

    ZK框架 中文技术文档.rar

    ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 ...

    zk的chm版的api帮助文档

    zk的chm版的api英文帮助文档. 本人自己制作的。 zk是台湾的一个纯ajax框架。

    zk中文人员开发手册.rar

    **ZK 开发手册中文版概述** ZK 是一个基于组件的 Java Web 用户界面框架,专为构建富互联网应用程序(RIA)而设计。它提供了一种简单、直观的方式来创建交互式用户界面,无需掌握复杂的 JavaScript 或 AJAX 技术。...

    zk框架学习中文手册

    同时,ZK的文档和社区资源丰富,尤其是中文文档的存在,对于中文开发者来说,学习和解决问题变得更加方便。 至于“codefans.net”,这个文件名可能指的是一个网站或者论坛,通常在学习ZK框架时,开发者可能会在Code...

    ZK 中文文档Version 3.5.1

    ZK 中文文档Version 3.5.1

    ZK开发手册中文3.5.1版

    《ZK开发手册中文3.5.1版》是一份专为开发者设计的详尽指南,旨在帮助读者深入了解和熟练掌握ZK框架的使用。ZK是一个基于组件的Java Web UI框架,它允许开发者创建富客户端应用而无需深厚的JavaScript技能。这个版本...

    TPC-ZK-II集成开发环境(64位).rar

    集成开发环境是程序员进行软件开发的主要工作平台,它整合了代码编辑器、编译器、调试器和各种辅助工具,提供了一站式的编程解决方案。TPC-ZK-II正是这样一款为微机程序设计定制的IDE,旨在简化开发流程,提高开发...

    zk项目搭建文档

    zk项目搭建文档,用于zk项目的mvvm模式的 开发 项目。

    Mycat ZK配置文件详解

    Mycat的多中心集群方案通常应用于跨地域的分布式环境,例如,一个双中心或多中心的解决方案,每个中心都包含一个或多个Mycat Cluster。每个Cluster由一组Mycat Server组成,它们共享相同的配置,并且可以进行负载...

    zk开发文档

    **ZooKeeper 开发文档详解** ZooKeeper 是一个分布式协调服务,由雅虎和Apache软件基金会共同开发,主要用于...记得在学习过程中,结合实践来加深理解,同时关注社区的更新和讨论,以便及时获取最新的信息和解决方案。

    ZK文档开发

    根据给定的信息,“ZK文档开发”主要涉及的是ZK框架下的开发技术。ZK是一款用于构建企业级Web应用程序的强大工具包,它提供了一种基于组件的开发模式,支持多种前端技术(如HTML、CSS、JavaScript等)以及后端集成...

    指纹采集器_中控ZK4500_驱动.zip

    1. 下载:用户可以从中控科技的官方网站或者提供的链接下载ZK4500_driver压缩文件。 2. 解压:解压缩下载的zip文件,得到驱动安装程序。 3. 安装:双击运行解压后的安装程序,按照提示完成安装过程,通常包括接受...

    zk开发手册和注意事项

    首先,在Eclipse中添加ZK智能提示文件的扩展名支持,然后引入ZUL文件对应的XML结构定义文档(zul.xsd)。这样ZUL文件不再是普通的文本文件,而是具有智能提示的XML文件,大大提高了开发过程中的可读性和易用性。zul....

    ZK中文开发手册 html

    12. **案例研究与示例**:通过实际项目案例,帮助读者理解ZK在不同应用场景下的解决方案。 通过阅读和实践《ZK开发手册(中文)》,开发者不仅能掌握ZK框架的基本用法,还能深入了解其高级特性和最佳实践,从而更高效...

    zk框架开发帮助文档

    这个"zk框架开发帮助文档"显然是为了指导开发者如何有效地利用Zookeeper进行系统设计和开发。 一、Zookeeper基本概念 1. 节点(Znode):Zookeeper数据存储的基本单元,类似于文件系统中的文件或目录。每个节点都有...

    zkAPI 的chm文件

    《ZK API 使用指南》 ZK API 是 ZooKeeper 的一套接口,ZooKeeper 是一个分布式的、开放源码的...提供的 CHM 文件《ZK API 使用指南》将帮助你更全面地了解和掌握这些功能,进一步提升你的分布式协调服务开发能力。

    zk 6 学习资料

    配置是ZK应用的核心部分,这份文档详细介绍了ZK的各种配置选项,如ZK服务器参数、组件属性、主题定制等。通过深入理解配置,开发者能够优化应用性能,实现自定义功能。 3. **开发者的参考(ZK 6.0.1 Developer's ...

Global site tag (gtag.js) - Google Analytics