目前比较流行的是使用SWFUpload控件,这个控件的详细介绍可以参见官网http://demo.swfupload.org/v220/index.htm

在使用这个控件批量上传文件时发现中文文件名都是乱码,在网上查了半天,找了几个办法,特总结如下:

第一种:fileName= new String(fileName.getBytes("UTF-8"),"GBK");

用这种方式能解决大部分乱码,但如果文件名中有特殊字符和标点符号有时候会转不过来。

第二种:我使用的是这种办法,测试已经通过

  1. /**在设置时需要设置一下上传事件
  2. *upload_start_handler : this.onUploadStart,
  3. *动态传参数,解决文件名中文乱码问题
  4. **/
  5. onUploadStart : function(file) {
  6. var post_params = this.settings.post_params;
  7. Ext.apply(post_params,{
  8. 'fileName':encodeURIComponent(file.name)
  9. });
  10. this.setPostParams(post_params);
  11. }
  12. //在读取的类中将文件转码即可
  13. String fName = URLDecoder.decode(fileName, "UTF-8");
  1. /**在设置时需要设置一下上传事件
  2. *upload_start_handler : this.onUploadStart,
  3. *动态传参数,解决文件名中文乱码问题
  4. **/
  5. onUploadStart : function(file) {
  6. var post_params = this.settings.post_params;
  7. Ext.apply(post_params,{
  8. 'fileName':encodeURIComponent(file.name)
  9. });
  10. this.setPostParams(post_params);
  11. }
  12. //在读取的类中将文件转码即可
  13. String fName = URLDecoder.decode(fileName, "UTF-8");

第三种:配置web.config配置文件这种方法

swfupload是按照utf-8来编码的,而中文网站一般使用的编码是gb2312,你需要在使用sufupload的程序文件目录下重新定义xml.comfig文件,
如下:
  1. <configuration>
  2. <appSettings/>
  3. <connectionStrings/>
  4. <system.web>
  5. <globalization requestEncoding="utf-8"/>
  6. </system.web>
  7. </configuration>
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<globalization requestEncoding="utf-8"/>
</system.web>
</configuration>

现在的flash
最新版本,11.8.800.168 和 11.9 等有 bug,如果升级后,在使用 swfuploader、uploadify
等文件上传控件时,如果文件名是中文,就会出现中文乱码。大家可以知道到 swfupload 和 uploadify官方网站的 demo
里测试。

如果已经不小心升级了,可以通过以下办法解决:

    1. 到这来下载反安装文件,并卸载掉当前版本的 flash
      (通过别的办法卸载会无法安装旧版本的 flash 控件):http://download.macromedia.com/get/flashplayer/current/support/uninstall_flash_player.exe
    2. 到这来下载
      相对旧一点的版本,并安装(也可以去别的地方下载):http://file.myfiles.com.cn/Photo/FlashPlayer_v118800129X.zip

SWFUpload乱码问题的解决的更多相关文章

  1. 【Java EE 学习 35 上】【strus2】【类型转换器】【struts2和Servlet API解耦】【国际化问题】【资源文件乱码问题已经解决】

    一.类型转换器 1.在动作类action中,声明和表单中name属性的值同名的属性,提供get和set方法,struts2就可以通过反射机制,从页面中获取对应的内容 package com.kdyzm ...

  2. 从js向Action传中文参数出现乱码问题的解决方法

    Action获取jsp表单中的中文参数,只要整个项目都采用UTF-8编码格式都不会出现乱码问题:但JSP中用到JS,并从JS向Action传中文参数,就会出现中文乱的现象     做项目的时候,发现A ...

  3. [JavaEE]Get请求URI中带的中文参数在服务端乱码问题的解决方法

    在Get请求中,如果请求参数中带有中文,如 http://localhost:8080/DinnerParty/shop/search?query=多伦多, 在服务端拿到的是乱码. 这是因为客户端提交 ...

  4. Rhythmbox中文乱码问题的解决

    Rhythmbox中文乱码问题的解决 Rhythmbox是Ubuntu自带的一款很优秀的音乐播放器,但是在处理中文时却不太友好,导入歌曲时中文会变成乱码 这个问题也是很好解决的. ** 1.Ctrl+ ...

  5. JAVA ,SSH中文及其乱码问题的解决 6大配置点 使用UTF-8编码

    JSP,mysql,tomcat下(基于struts2)中文及其乱码问题的解决 6大配置点 使用UTF-8编码 目前对遇到J2EE 开发中 中文及其乱码问题,参考网上资料做个总结, 主要是6大配置点: ...

  6. jsp include 乱码问题的解决

    jsp include 乱码问题的解决 博客分类: Java JSPWeb浏览器IESpring  jsp include 乱码问题的解决 jsp include 的文件有时候会出现乱码,经过测试发现 ...

  7. MySQL导出csv乱码问题的解决

    csv乱码问题的解决      从MySQL导出数据到 csv 文件后,有时会发现用 excel 打开该导出 csv 文件显示的是乱码.这个问题是 csv 文件本身的文本编码问题导致的,解决办法: 1 ...

  8. R读取excel文件乱码 read.xlsx() 解决方法

    1. 参考[R语言]R读取含中文excel文件,read.xlsx乱码问题  该文章总结得很好,可以直接跳到最后看博主的总结. 2. 如果依旧是乱码那么用read.xlsx2()去读取excel文件, ...

  9. JSP学习(一)之中文乱码问题的解决

    一.响应中的乱码 我们所看到的页面,是由服务器把内容放入响应(response)中,然后发送给浏览器的.如果响应中的数据无法被正常解析,就会出现中文乱码.为什么英文不存在乱码问题?因为无论是ISO-8 ...

随机推荐

  1. hadoop家族学习路线图之hadoop产品大全

    大数据这个词也许几年前你听着还会觉得陌生,但我相信你现在听到hadoop这个词的时候你应该都会觉得“熟悉”!越来越发现身边从事hadoop开发或者是正在学习hadoop的人变多了.作为一个hadoop ...

  2. 使用PHP简单操作Memcached

    记得一定要先启动Memcached哦! [root@localhost ~]# /usr/bin/memcached -d -l -m -u root -d 守护进程模式(退出终端窗口之后使程序还在运 ...

  3. 【Android】Android版本和API Level对应关系

    API Level Notes Android 4.4 19 KITKAT Platform Highlights Android 4.3 18 JELLY_BEAN_MR2 Platform Hig ...

  4. Windows 客户端时间更新脚本NTP

    Windows XP 客户端时间更新脚本NTP ::Windows XP 客户端时间更新脚本NTP reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsof ...

  5. python之BeautifulSoup4的例子

    仅作演示用 from bs4 import BeautifulSoup import urllib.request webfile = urllib.request.urlopen('http://w ...

  6. Linux性能分析 vmstat输出

    vmstat输出     1.linux系统下vmstat输出   vmstat的输出分为以下几种模式:   (1).VM MODE (普通选项) (2).DISK MODE(-d选项) (3).DI ...

  7. GROUP BY关键字与WITH ROLLUP一起使用

    1 GROUP_CONCAT mysql> SELECT student_name, ->     GROUP_CONCAT(test_score) ->     FROM stud ...

  8. 布尔值运算&集合

    示例:返回booleanli = [] li = {} li = () if not li: print(1) radiansdict.has_key(key) #如果键在字典dict里返回true, ...

  9. 资源 | 源自斯坦福CS229,机器学习备忘录在集结

    在 Github 上,afshinea 贡献了一个备忘录对经典的斯坦福 CS229 课程进行了总结,内容包括监督学习.无监督学习,以及进修所用的概率与统计.线性代数与微积分等知识. 项目地址:http ...

  10. solr入门之搜索建议的几种实现方式和最终选取实现思路

    上篇博客中我简单的讲了下solr自身的suggest模块来实现搜索建议.但是今天研究了下在solr自身的suggest中添加进去拼音来智能推荐时不时很方便.在次从网上搜集和整理思考了下该问题的解决. ...