+ -
当前位置:首页 → 问答吧 → ajax输出json为什么前台中文不能显示?但是tomcat服务器端中文能显示

ajax输出json为什么前台中文不能显示?但是tomcat服务器端中文能显示

时间:2011-12-19

来源:互联网

response.setContentType("text/plain");
  PrintWriter out = response.getWriter();
  KindDaoimpl kd=new KindDaoimpl();
  try {
  List list=(ArrayList)kd.findKind();
  JSONArray json=JSONArray.fromObject(list);
  String str=json.toString();
  System.out.print("str:"+str);//这里能显示中文 out.print(str);//这里不能。为什么啊? } catch (Exception e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  }

作者: LengYueFengCai   发布时间: 2011-12-19

response.setContentType("text/html,charset=gb2312");

作者: huangjinjin520   发布时间: 2011-12-19

设置charset=你的编码。

作者: wuhongjun126   发布时间: 2011-12-19

这样看看
这里的charset要给前台的编码一样

作者: huangjinjin520   发布时间: 2011-12-19

不行啊
求大神指导

作者: LengYueFengCai   发布时间: 2011-12-19

转换编码吧,String a=new String(str.getBytes('原编码'),"你的编码");

作者: wuhongjun126   发布时间: 2011-12-19

out.print(str);这里如果你没有设置,默认是UTF-8。前台编码统一。。。

作者: kouyiSC   发布时间: 2011-12-19

都设置的gbk,上边你们提到的方法都试了,还是不行……

作者: LengYueFengCai   发布时间: 2011-12-19

我有一个办法彻底解脱你的乱码之苦,砸了那家伙吧,直截了当。

作者: wuhongjun126   发布时间: 2011-12-19