免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2170 | 回复: 1
打印 上一主题 下一主题

jquery ajax 中文乱码处理 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-17 16:11 |只看该作者 |倒序浏览
jquery ajax 中文乱码处理

ajaxjqueryencodeuricomponentgbk
jquery在发送ajax数据时,使用了js的内置方法encodeURIComponent对数据进行了处理,该方法的作用是把数据
以UTF-8的方式编码,所以页面的编码如果是GBK或gb2312时候,服务端接收就会出现乱码。

解决方法:
---------------------------------------------------------------
客户端(jsp页面)

在传递数据前对数据再一次进行encodeURIComponent编码
  1. var m_name = $.trim($("#m_name").val());
  2. m_name = encodeURIComponent(m_name);  //对中文进行处理
  3. var map = {
  4.      m_id:$('#m_id').val(),
  5.      name:m_name
  6. };

  7. $.post("EditMer.do",map,function(data){
  8.     //..... (根据服务器返回数据进行相关操作)
  9. });
复制代码
---------------------------------------------------------------

服务端(java程序)
对含有中文的字符串进行解码
  1. String name = request.getParameter("name"); //商品名称
  2. name = Utils.decodeJqueryAjaxStr(name);


  3. /**
  4. * 将jquery ajax 中文字符串 解码
  5. * @param str 需要解码的字符串
  6. * @return
  7. */
  8. public static String decodeJqueryAjaxStr(String str){

  9.    if(str==null || str.equals("")){
  10.   return "";
  11.    }
  12.    str = str.trim();
  13.    try {
  14.   str = java.net.URLDecoder.decode(str, "UTF-8");
  15.    } catch (UnsupportedEncodingException e) {
  16.   e.printStackTrace();
  17.    }

  18.    return str;
  19. }
复制代码

论坛徽章:
0
2 [报告]
发表于 2012-02-17 22:11 |只看该作者
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP