uploadify中文乱码及解决方法

uploadify是使用比较广泛的一款jquery文件上传插件,该插件基于jquery开发,配合flash实现了多文件上传、上传进度条等功能。
该插件唯一缺点是按钮文字中文乱码,查看jquery.uploadif.js源码发现在传递参数时用escape经行编码,而在flash里面unescape进行解码。这就是为什么中文会出现乱码,具体原因参见《AS3与AS1/as2的unescape函数》。在最新版本2.1.4仍然没有修复这个bug,所以只能自己动手来解决。下面教大家怎么修改:
本文示例基于Uploadify v2.1.4版,将escape/unescape换成encodeURI/decodeURI即可

1、jquery.uploadify.v2.1.4.js 44行

if (settings.buttonText) data.buttonText = escape(settings.buttonText);

修改为

if (settings.buttonText) data.buttonText = encodeURI(settings.buttonText);

2、uploadify.fla 117行 (经测试本步骤可跳过)

browseBtn.empty.buttonText.text = unescape(param.buttonText);

修改为

browseBtn.empty.buttonText.text = decodeURI(param.buttonText);

3、uploadify.fla Scene 1\ empty\ buttonText
删除嵌入字体,字体选为设备字体(比如 _sans)

修改完成后uploadify.swf由23KB瘦身为13KB,是不是小了很多!

附件是修改好的,替换uploadify官方包内同名文件即可
附件下载

“uploadify中文乱码及解决方法”的3个回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注