JSON数据传输,解决中文乱码 | 少将全栈
  • 欢迎访问少将全栈,学会感恩,乐于付出,珍惜缘份,成就彼此、推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 吐槽,投稿,删稿,交个朋友
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏少将全栈吧

JSON数据传输,解决中文乱码

点滴 admin 9年前 (2016-06-16) 14131次浏览 已收录 扫描二维码

    遇到Json从Java后台传到前端乱码的问题,
JSON数据传输,解决中文乱码 
设置格式为text/json */ response.setContentType("text/json");  /*设置字符集为’UTF-8’*/ response.setCharacterEncoding("UTF-8");  加了这两个,可以了,谢谢。
JSON数据传输,解决中文乱码 

数据返回到前端的最后一步:reponse.getWriter.print(jsonString)处如果没有做处理,就很有可能出现乱码,因此,加上response.setCharacterEncoding("utf-8");就搞定了
JSON数据传输,解决中文乱码 
 
参考如下:
/**
     * 通过JSON查询并处理FAQ信息
     * @author 002101
     * @since version1.0,2011-11-21
     * 
     */

@Override
public String execute() {
    PrintWriter out = null;
    String atr = null;
    try {
        /* 获得response */
        HttpServletResponse response = ServletActionContext.getResponse();
        /* 设置格式为text/json    */
        response.setContentType("text/json"); 
        /*设置字符集为’UTF-8’*/
        response.setCharacterEncoding("UTF-8"); 
        out = response.getWriter(); 
        /* 查询FAQ信息  */
        List<Faq> faqs = this.faqService.faqInLogin();
        /* 将FAQ信息保存到session  */
        ServletActionContext.getRequest().getSession().setAttribute("faqs",
            faqs); 
        /* 转变成JSON格式 */
        atr = JSONObject.quote(JSONUtil.toJSONString(faqs)); 
        out.print(atr);
        out.flush();
        return "loginBefore";
    } catch (Exception e) {
        e.printStackTrace();
        return "loginBefore";
    } finally {
        if (out != null) {
            out.close();
        }
    }

}

         项目要求,从后台异步传输数据并且定时刷新,异步更新数据,response.setContentType(“text/json”); 设置成JSON格式的数据,      response.setCharacterEncoding(“UTF-8”); 把字符集设置成“UTF-8”格式,防止出现乱码,  atr = JSONObject.quote(JSONUtil.toJSONString(faqs)); 

            out.print(atr);转成JSON格式

详情请移步:http://blog.csdn.net/maoxiao1229/article/details/7255441

喜欢 (2)
[🍬谢谢你请我吃糖果🍬🍬~]
分享 (0)
关于作者:
少将,关注Web全栈开发、项目管理,持续不断的学习、努力成为一个更棒的开发,做最好的自己,让世界因你不同。