JQuery异步获取返回值中文乱码的解决方法


Posted in Javascript onJanuary 29, 2015

用jqgrid异步获取列表值,遇到个问题,服务器端从数据库取到的数据没有出现中文乱码问题(日志打出来是没有乱码的),但是异步传到客户的时候却出现了乱码。 服务器端已经编码过了(UTF-8编码)。开始一直怀疑是客户端的问题,比如客户端和服务器端编码不一致啊,也怀疑是不是jqGrid工具函数中少配了 contentType: "application/x-www-form-urlencoded; charset=utf-8",   等等问题。

结果都不是,纠结了几个小时,后来经过大牛的提醒发现,原来代码还是出在服务器端,疏忽了。

@RequestMapping(value = "/searchUserList.form")
  @ResponseBody
  public void searchUserList(int page, int rows, HttpServletRequest request, HttpServletResponse response) throws IOException{
    System.out.println("idcard="+idCard+"\n page="+page+"\n rows="+rows);
 
    List<User> list = userService.findByIDCard(idCard);
     
    int totalRecord = list.size();
    int totalPage = totalRecord%rows == 0 ? totalRecord/rows : (totalRecord/rows+1);
     
    int index = (page-1)*rows;
    int pageSize = rows;
     
    String json = "{\"total\": \""+totalPage+"\", \"page\": \""+page+"\", \"records\": \""+totalRecord+"\", \"rows\": ["; 
    for (int i = index; i < pageSize + index && i<totalRecord; i++) { 
      User u = list.get(i);
      json += "{\"id\":\"" + u.getUserId() + "\",\"userName\":\""+u.getUserName()+"\",\"idCard\":\""+
      u.getIdCard() +"\",\"userTel\":\""+u.getUserTel()+"\",\"userSex\":\""+u.getUserSex()+
      "\",\"bankCard\":\""+u.getBankCard()+"\",\"cardStatus\":\""+u.getCardSatus()+"\",\"createTime\":\""+
      u.getCreateTime()+"\"}";
      if (i != pageSize + index - 1 && i != totalRecord - 1) { 
        json += ","; 
      } 
    } 
    json += "]}";
    request.setCharacterEncoding("utf-8"); //这里不设置编码会有乱码
    response.setContentType("text/html;charset=utf-8");
    response.setHeader("Cache-Control", "no-cache"); 
    PrintWriter out = response.getWriter(); //输出中文,这一句一定要放到response.setContentType("text/html;charset=utf-8"), response.setHeader("Cache-Control", "no-cache")后面,否则中文返回到页面是乱码 
    out.print(json.toString());
    out.flush();
    out.close();
  }
Javascript 相关文章推荐
5款Javascript颜色选择器
Oct 25 Javascript
Jquery中Ajax 缓存带来的影响的解决方法
May 19 Javascript
js下拉菜单语言选项简单实现
Sep 23 Javascript
Javasipt:操作radio标签详解
Dec 30 Javascript
JavaScript中的逻辑判断符&amp;&amp;、||与!介绍
Dec 31 Javascript
基于Jquery实现表单验证
Jul 20 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
Aug 24 Javascript
AngularJS实现全选反选功能
Dec 08 Javascript
js选择器全面解析
Jun 27 Javascript
vue结合axios与后端进行ajax交互的方法
Jul 06 Javascript
微信小程序scroll-view仿拼多多横向滑动滚动条
Apr 21 Javascript
JavaScript 实现下雪特效的示例代码
Sep 09 Javascript
AngularJS中的模块详解
Jan 29 #Javascript
jquery结合CSS使用validate实现漂亮的验证
Jan 29 #Javascript
5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
Jan 29 #Javascript
推荐一个自己用的封装好的javascript插件
Jan 29 #Javascript
js实现点击左右按钮轮播图片效果实例
Jan 29 #Javascript
JavaScript中实现继承的三种方式和实例
Jan 29 #Javascript
javascript面向对象程序设计(一)
Jan 29 #Javascript
You might like
PHP网站基础优化方法小结
2008/09/29 PHP
PHP+redis实现的限制抢购防止商品超发功能详解
2019/09/19 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
jQuery点击后一组图片左右滑动的实现代码
2012/08/16 Javascript
Ext JS添加子组件的误区探讨
2013/06/28 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
js实现动态改变字体大小代码
2014/01/02 Javascript
jquery获取颜色在ie和ff下的区别示例介绍
2014/03/28 Javascript
Nodejs sublime text 3安装与配置
2014/06/19 NodeJs
javascript中var的重要性分析
2015/02/11 Javascript
jQuery支持动态参数将函数绑定到事件上的方法
2015/03/17 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
原生js实现回复评论功能
2017/01/18 Javascript
JS中的回调函数实例浅析
2018/03/21 Javascript
通过vue-cli3构建一个SSR应用程序的方法
2018/09/13 Javascript
Vue-CLI 项目在pycharm中配置方法
2019/08/30 Javascript
JS前端面试必备——基本排序算法原理与实现方法详解【插入/选择/归并/冒泡/快速排序】
2020/02/24 Javascript
用实例说明python的*args和**kwargs用法
2013/11/01 Python
跟老齐学Python之for循环语句
2014/10/02 Python
使用Python生成url短链接的方法
2015/05/04 Python
Python简单实现两个任意字符串乘积的方法示例
2018/04/12 Python
Python基于pyCUDA实现GPU加速并行计算功能入门教程
2018/06/19 Python
在python中用url_for构造URL的方法
2019/07/25 Python
Django框架创建项目的方法入门教程
2019/11/04 Python
python使用pandas抽样训练数据中某个类别实例
2020/02/28 Python
CSS3实现的炫酷菜单代码分享
2015/03/12 HTML / CSS
法国珠宝店:CLEOR
2017/01/29 全球购物
三星印度官网:Samsung印度
2019/08/03 全球购物
params有什么用
2016/03/01 面试题
毕业生大学生活自我总结
2014/01/31 职场文书
企业消防安全制度
2014/02/02 职场文书
优秀的应届生自荐信
2014/05/23 职场文书
交通事故代理词范文
2015/05/23 职场文书
「女孩的钓鱼慢活」全新版权绘公布
2022/03/21 日漫