当前位置:  编程技术>jquery

jQuery中文乱码的解决方法

    来源: 互联网  发布时间:2014-09-03

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

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',

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • jQuery-ui引入后Vs2008的无智能提示问题解决方法
  • jquery dialog open后,服务器端控件失效的快速解决方法
  • 点击表单提交时出现jQuery没有权限的解决方法
  • jquery动态添加元素事件失效问题解决方法
  • jQuery$命名冲突怎么办如何解决
  • JQuery插件fancybox无法在弹出层使用左右键的解决办法
  • jquery live()调用不存在的解决方法
  • jQuery在iframe中无法弹出对话框的解决方法
  • jquery fancybox ie6不显示关闭按钮的解决办法
  • 解决jQuery动态获取手机屏幕高和宽的问题
  • jquery库或JS文件在eclipse下报错问题解决方法
  • eclipse导入jquery包后报错的解决方法
  • 巧用jquery解决下拉菜单被Div遮挡的相关问题
  • Jquery uploadify图片上传插件无法上传的解决方法
  • 页面元素绑定jquery toggle后元素隐藏的解决方法
  • Jquery easyui分页栏显示1到0怎么解决?
  • 解决自定义$(id)的方法与jquery选择器$冲突的问题
  • JQuery中使用ajax传输超大数据的解决方法
  • 解决jquery中post方法返回404错误的问题
  • JQuery给元素绑定click事件多次执行的解决方法
  • 通过javascript库JQuery实现页面跳转功能代码
  • jQuery鼠标动画插件 jquery-ahover
  • jQuery概述,代码举例及最新版下载
  • jQuery向导插件 Jquery Wizard Plugin
  • Jquery操作html复选框checkbox:全选,全不选和反选
  • jQuery圆角插件 jQuery Corners
  • struts+spring+hibernate+jquery实现分页功能的几个基本类介绍(异步加载)
  • jQuery相册插件 jQuery.popeye
  • jQuery UI组件 jQuery UI
  • jQuery右键菜单插件 jQuery ContextMenu
  • jQuery分页插件 Pagination jQuery Plugin


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    JQuery插件fancybox无法在弹出层使用左右键的解决办法 iis7站长之家