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 相关文章推荐
利用jquery操作select下拉列表框的代码
Jun 04 Javascript
javascript Array.prototype.slice使用说明
Oct 11 Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
Nov 19 Javascript
js实现分享到随页面滚动而滑动效果的方法
Apr 10 Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
Dec 10 Javascript
Angular2内置指令NgFor和NgIf详解
Aug 03 Javascript
JS实现显示带倒影的图片横排居中放大展示特效实例【测试可用】
Aug 23 Javascript
原生js的RSA和AES加密解密算法
Oct 08 Javascript
如何解决hover在ie6中的兼容性问题
Dec 15 Javascript
探索Vue高阶组件的使用
Jan 08 Javascript
AngularJS使用$http配置对象方式与服务端交互方法
Aug 13 Javascript
微信小程序实现写入读取缓存详解
Aug 30 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下用GD生成生成缩略图的两个选择和区别
2007/04/17 PHP
php获取手机端的号码以及ip地址实例代码
2018/09/12 PHP
说说掌握JavaScript语言的思想前提想学习js的朋友可以看看
2009/04/01 Javascript
javascript 的Document属性和方法集合
2010/01/25 Javascript
javascript时间函数基础介绍
2013/03/28 Javascript
NodeJS的url截取模块url-extract的使用实例
2013/11/18 NodeJs
jQuery后代选择器用法实例
2014/12/23 Javascript
javascript模拟评分控件实现方法
2015/05/13 Javascript
javascript中的Function.prototye.bind
2015/06/25 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(下)
2015/10/28 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
2016/03/30 Javascript
jQuery控制文本框只能输入数字和字母及使用方法
2016/05/26 Javascript
JavaScript程序中实现继承特性的方式总结
2016/06/24 Javascript
js实现一个可以兼容PC端和移动端的div拖动效果实例
2016/12/09 Javascript
JavaScript实现翻页功能(附效果图)
2017/02/16 Javascript
微信小程序 sha1 实现密码加密实例详解
2017/07/06 Javascript
ReactNative之FlatList的具体使用方法
2017/11/29 Javascript
详解Vue.js使用Swiper.js在iOS
2018/09/10 Javascript
微信小程序Echarts覆盖正常组件问题解决
2019/07/13 Javascript
解决在layer.open中使用时间控件laydate失败的问题
2019/09/11 Javascript
Python中规范定义命名空间的一些建议
2016/06/04 Python
python+matplotlib绘制旋转椭圆实例代码
2018/01/12 Python
python文件读写代码实例
2019/10/21 Python
Transpose 数组行列转置的限制方式
2020/02/11 Python
python中round函数如何使用
2020/06/19 Python
美国领先的精品家居照明和装饰产品在线零售商:LightsOnline.com
2018/01/23 全球购物
Omio葡萄牙:全欧洲低价大巴、火车和航班搜索和比价
2019/02/09 全球购物
奥地利票务门户网站:oeticket.com
2019/12/31 全球购物
世界上最大的皮肤科医生拥有和经营的美容网站:LovelySkin
2021/01/03 全球购物
讲座主持词
2014/03/20 职场文书
本科毕业生应聘求职信
2014/07/06 职场文书
公共场所禁烟倡议书
2014/08/30 职场文书
同意迁入证明模板
2014/10/26 职场文书
世界水日宣传活动总结
2015/02/09 职场文书
2015年卫生局工作总结
2015/07/24 职场文书
css height属性中的calc方法详解
2021/06/03 HTML / CSS