解决方法:1、使用“名称(fileName.getBytes("UTF-8"),"GBK")”语句转换编码类型;2、配置“web.config”文件,将文件中的编码类型改为“utf-8”即可。
本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑
目前比较流行的是使用SWFUpload控件,在使用这个控件批量上传文件时发现中文文件名都是乱码,在网上查了半天,找了几个办法,特总结如下:
第一种:fileName= new String(fileName.getBytes("UTF-8"),"GBK");
用这种方式能解决大部分乱码,但如果文件名中有特殊字符和标点符号有时候会转不过来。
第二种:配置web.config配置文件
swfupload是按照utf-8来编码的,而中文网站一般使用的编码是gb2312,你需要在使用sufupload的程序文件目录下重新定义xml.comfig文件,
如下:
<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 里测试。
如果已经不小心升级了,可以通过以下办法解决:
到这来下载反安装文件,并卸载掉当前版本的 flash (通过别的办法卸载会无法安装旧版本的 flash 控件):http://download.macromedia.com/get/flashplayer/current/support/uninstall_flash_player.exe
到这来下载 相对旧一点的版本,并安装(也可以去别的地方下载):http://file.myfiles.com.cn/Photo/FlashPlayer_v118800129X.zip
推荐:《2021年PHP面试题大汇总(收藏)》《php视频教程》
以上是php中swfupload乱码怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!