教程集 www.jiaochengji.com
教程集 >  jQuery  >  jquery 教程  >  正文 jQuery中文乱码的解决方法

jQuery中文乱码的解决方法

发布时间:2015-11-22   编辑:jiaochengji.com
本文介绍下,在jquery中出现中文乱码问题的解决办法,感兴趣的朋友可以参考下,希望对大家有所帮助。

jquery中文乱码的处理方法:
方法1,将项目的编码统一设置为UTF-8. 将数据交互时的编码都统一为"UTF-8";
方法2,如果项目的编码已经统一设置为GBK或GB2312,则在ajax调用向服务端传递中文参数时容易出现中文乱码,这时的处理方式如下:

后台:
 

复制代码 代码示例:
/* =============禁止缓存============== */
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
/* =============禁止缓存============== */
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
//request.setCharacterEncoding("UTF-8");
String userName = request.getParameter("userName");
userName=URLDecoder.decode(userName, "UTF-8");
             
              //在springmvc中,如没有通过request,或直接设置jquery的编码设置,则需要如下方式转换。
     // mykeyword = new String(keyword.getBytes("iso-8859-1"),"UTF-8");
              //但如果是encodeURI()函数转换,则如下就可以。注意,这时参数在 url后面。
              userName=URLDecoder.decode(userName, "UTF-8");

前台如:
 

复制代码 代码示例:
var myurl="grzx/validateUserNameIsExists.do?userName="+username;
myurl=encodeURI(myurl);
myurl=encodeURI(myurl);
jQuery.ajax({
url:myurl,
type:'POST',
async:false,
data:{},
success:function(data){
    var msg=eval('('+data+')');
  //  var msg=JSON.parse(data);
      if(!msg.result){
    jQuery('#myusername').attr('value','');
         alert('用户名已存在!请用新的用户名');
      }
    }
   }); 

进行两次编码。
在前台传递的“哈哈大笑”,在后台编码前为:“%E5%93%88%E5%93%88%E5%A4%A7%E7%AC%91”;就算成功了。

当然,只编码一次也是可以的,将jquery的编码设置为"UTF-8"; 加上;charset='UTF-8'就好了。
例如:
 

复制代码 代码示例:
contentType : 'application/json;charset=UTF-8',

您可能感兴趣的文章:
php网页标题中文乱码如何解决
mysql中utf-8编码数据库转换成GBK编码的问题
Jquery网页出现的乱码问题的三种解决方法
php分割GBK中文乱码的解决方法
Get中文乱码IE浏览器Get中文乱码解决方案
php截取中文字符串乱码如何解决呢
shell脚本中注释中文乱码的解决方法
php pdo编码乱码问题的解决方法
jquery乱码与contentType属性设置问题解决方案
解决Jquery load()加载GB2312页面时出现乱码的两种方案

[关闭]
~ ~