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 相关文章推荐
来自国外的页面JavaScript文件优化
Dec 08 Javascript
javascrip客户端验证文件大小及文件类型并重置上传
Jan 12 Javascript
javascript实现上传图片并预览的效果实现代码
Apr 11 Javascript
jQuery内置的AJAX功能和JSON的使用实例
Jul 27 Javascript
JS+CSS实现Li列表隔行换色效果的方法
Feb 16 Javascript
jQuery焦点图轮播插件KinSlideshow用法分析
Jun 08 Javascript
js基于cookie记录来宾姓名的方法
Jul 19 Javascript
Mvc提交表单的四种方法全程详解
Aug 10 Javascript
利用js编写网页进度条效果
Oct 08 Javascript
Vue-cli中为单独页面设置背景色的实现方法
Feb 11 Javascript
node全局变量__dirname与__filename的区别
Jan 14 Javascript
Vue-cli4 配置 element-ui 按需引入操作
Sep 11 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中将字符串转为HTML的实体引用的一个类
2013/02/03 PHP
PHP7创建COOKIE和销毁COOKIE的实例方法
2020/02/03 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
2020/09/25 PHP
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
2010/06/19 Javascript
jquery ajax请求实例深入解析
2012/11/26 Javascript
js 取时间差去掉周六周日实现代码
2012/12/25 Javascript
js之onload事件的一点使用心得
2013/08/14 Javascript
js 表单提交后按钮变灰的实例代码
2013/08/16 Javascript
基于html5和nodejs相结合实现websocket即使通讯
2015/11/19 NodeJs
Jquery zTree 树控件异步加载操作
2016/02/25 Javascript
详解JavaScript中的事件流和事件处理程序
2016/05/20 Javascript
Javascript发送AJAX请求实例代码
2016/08/21 Javascript
JS刷新父窗口的几种方式小结(推荐)
2016/11/09 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
基于对象合并功能的实现示例
2017/10/10 Javascript
详谈js的变量提升以及使用方法
2018/10/06 Javascript
Nuxt.js 数据双向绑定的实现
2019/02/17 Javascript
js实现多个标题吸顶效果
2020/01/08 Javascript
python通过pil将图片转换成黑白效果的方法
2015/03/16 Python
利用django如何解析用户上传的excel文件
2017/07/24 Python
python实现人脸识别代码
2017/11/08 Python
在python中安装basemap的教程
2018/09/20 Python
Python+OpenCV图片局部区域像素值处理改进版详解
2019/01/23 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
通过 Django Pagination 实现简单分页功能
2019/11/11 Python
Python 3.8 新功能大揭秘【新手必学】
2020/02/05 Python
Java多线程实现四种方式原理详解
2020/06/02 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
深入理解HTML5定时器requestAnimationFrame的使用
2018/12/12 HTML / CSS
美国内衣品牌:Leonisa
2016/08/14 全球购物
N:Philanthropy官网:美国洛杉矶基础款服装
2020/06/09 全球购物
英语自荐信常用语句
2013/12/13 职场文书
放飞梦想演讲稿200字
2014/08/26 职场文书
2014迎国庆演讲稿
2014/09/19 职场文书
2014年校长工作总结
2014/12/11 职场文书
导游词之澳门玫瑰圣母堂
2019/12/03 职场文书