`

jQuery uploadify中文按钮乱码的原因及解决方法

 
阅读更多

转自:http://www.cnblogs.com/carekee/articles/2233288.html

uploadify是一款基于jQuery库的上传插件,但很可惜的是无论你怎么设置参数buttonText ,它的中文按钮都会出现乱码的情况,现把出现原因及解决方法总结如下:

原因:

出现乱码,很明显是在对字符编码和解码的时候出现问题了,打开该插件的脚本,发现源码是这样对按钮文字buttonText 进行编码的:
if (settings.buttonText) data.buttonText = escape(settings.buttonText);对编码方式了解的朋友,应该知道js中的escape()方法是采用ISO Latin字符集对指定的字符串进行编码的,很明显咱们的中文,包括日文,韩文(CJK)都不包括在ISO Latin字符集里面的。而且,该插件的解码方式应该用了unescpe()。这样不乱码才怪呢。

解决方法:

1.改变字符编码解码方式

既然知道乱码是编码解码的原因,最好的解决方法当然是更改编码解码方式了。encodeURI() 方法,可以把URI字符串采用UTF-8编码格式转化成escape格式的字符串,而且咱们的中文也属于UTF-8字符集里面的,再用decodeURI()进行解码。具体修改代码如下:

A. jquery.uploadify.js 中的
if (settings.buttonText) data.buttonText = escape(settings.buttonText);
改为:
if (settings.buttonText) data.buttonText = encodeURI(settings.buttonText);

B. uploadify.fla中的
browseBtn.empty.buttonText.text = unescape(param.buttonText);
改为:
browseBtn.empty.buttonText.text = decodeURI(param.buttonText);

2.使用参数buttonImg

显然buttonImg是有来设置图片按钮的,自己做的图片,上面写中文,英文就随便你了,没编码当然不会乱码了,不过这个方法,按钮显示会有点慢,还是比较推荐方法1.

分享到:
评论

相关推荐

    解决中文按钮乱码的jquery uploadify上传插件

    uploadify是一款基于jQuery库的上传插件,但很可惜的是无论你怎么设置参数buttonText ,它的中文按钮都会出现乱码的情况.本资源更正了源码的编码方式,从根本上解决了中文(包括CJK)乱码的问题。要知道乱码原因,及...

    jquery uploadify(自己修改过按钮可以中文)

    jquery uploadify swf文件 已经修改过可以设置中文按钮 (自己修改过swf按钮可以中文) 直接在参数里面写中文的字 不要编码,如果出现编码错误,请修改官网匹配的那个JS的编码函数(我忘了自己的JS有没有改过) '...

    uploadify_中文按钮乱码.zip

    《uploadify中文按钮乱码问题解析与解决方案》 在网页开发中,经常需要用到文件上传功能,Uploadify是一款广泛使用的jQuery插件,它提供了强大的文件上传功能,包括多文件选择、进度条显示等。然而,当我们在使用...

    ASP.NET jquery.uploadify文件上传控件测试项目(已解决中文乱码)

    通过研究这些文件,开发者可以学习如何在自己的ASP.NET项目中集成和定制jQuery.uploadify,同时避免中文文件名乱码的问题。这个测试项目提供了一个完整的解决方案,对遇到类似问题的开发者有着很高的参考价值。

    jquery.uploadify-v2.1.4.zip

    《jQuery Uploadify插件v2.1.4:解决中文按钮乱码问题及深度解析》 在Web开发中,文件上传功能是不可或缺的一部分。jQuery Uploadify是一款强大的JavaScript插件,它使得文件上传变得简单而优雅。然而,在处理中文...

    jquery.uploadify上传文件

    3. **初始化Uploadify**:使用jQuery选择器找到`<input>`元素,并调用`.uploadify()`方法对其进行初始化。这里可以设置各种参数,如上传地址、文件类型、队列大小限制等。例如: ```javascript $('#uploadifyFile'...

    jquery uploadify

    - **按钮文本中文乱码**:由于JavaScript的`escape()`函数对中文字符编码有误,可以使用`encodeURI()`替换,同时在Flash文件中进行相应的解码。 - **Firefox上传图标不可见**:确保在Firefox中安装了支持Flash的非...

    uploadify2.1.4能使按钮显示中文

    在使用jQuery.uploadify.v2.1.4.js时,可以在初始化uploadify时通过`buttonText`参数设置按钮文本,例如: ```javascript $("#fileInput").uploadify({ 'uploader': 'uploadify.swf', 'script': 'upload.php', '...

    Uploadify3.1参数详解

    本篇文章将详细介绍Uploadify3.1版本中与2.1.4版本相比新增或改进的属性、事件及方法。 #### 二、重要属性详解 ##### 1. `auto` (布尔型) - **默认值**: True - **说明**: 设置为`True`时,文件添加到上传队列后将...

    jsuploadify

    在使用Uploadify时,可能会遇到一个问题,即当试图设置中文按钮文本时,按钮显示不正常,通常表现为乱码或无法显示。这个问题通常与字符编码有关。 在JavaScript环境中,尤其是涉及到与Flash交互时,编码问题尤为...

Global site tag (gtag.js) - Google Analytics