首页 > Java > java教程 > 正文

java返回json请求中文变成问号怎么解决

WBOY
发布: 2023-04-15 09:25:07
转载
2471人浏览过

java返回json请求中文变成问号

原来在个人项目时,用layui的数据表格获取数据时,不会出现中文变问号问题

后来换了个项目,发现返回的json数据到页面中文变成了???问号。

于是开始排查问题出现的原因,首先jsp页面头部确保使用了UTF-8编码:

<%@ page="" language="java" contenttype="text/html; charset=UTF-8" pageencoding="UTF-8">
登录后复制

既然不是页面的问题,肯定就是后台问题,之前的后台代码是:

    /**      * 获取json列表      */   
      @ResponseBody  
      @RequestMapping("/getJsonAF02")  
      public void getManyCategory(Page page, HttpServletRequest request,HttpServletResponse response) throws  Exception{       
           logBefore(logger, "列表AF02");    
                // if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;}        
               // //校验权限       
                 PageData pd = this.getPageData();     
                 JSONObject jsonObject = new JSONObject();  
                 PrintWriter out = response.getWriter();
                 try { 
                         page.setPd(pd);  
                         page.setCurrentPage(Integer.parseInt(pd.getString("page"))); 
                         pd.put("OPERATION_NUM", "10001"); 
                         ListvarList = af02Service.listForSCJ(page);
                         // 列出AF02列表
                         //前台通过key值获得对应的value值 
                         jsonObject.put("code", 0);  
                         jsonObject.put("msg", "测试"); 
                         jsonObject.put("count",page.getTotalResult());
                         jsonObject.put("data", varList);
                     } catch (Exception e) { 
                      logger.error(e.toString(), e);
                     }  
                      String result = jsonObject.toString(); 
                       out.write(result);
                       out.close(); 
                     }
登录后复制

排查了一下,发现在这段代码上加上response.setContentType("text/html;charset=utf-8");:

立即学习Java免费学习笔记(深入)”;

  /**      * 获取json列表      */ 
      @ResponseBody  
      @RequestMapping("/getJsonAF02")
      public void getManyCategory(Page page, HttpServletRequest request,HttpServletResponse response) throws  Exception{  
             logBefore(logger, "列表AF02");  
             // if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} 
             //校验权限  
               PageData pd = this.getPageData();
               response.setContentType("text/html;charset=utf-8");// 加上这个处理问号 
               JSONObject jsonObject = new JSONObject();
               PrintWriter out = response.getWriter();
               try { 
                   page.setPd(pd); 
                   page.setCurrentPage(Integer.parseInt(pd.getString("page")));
                   pd.put("OPERATION_NUM", "10001");
                   ListvarList = af02Service.listForSCJ(page); 
                   // 列出AF02列表 
                   //前台通过key值获得对应的value值
                   jsonObject.put("code", 0);
                   jsonObject.put("msg", "测试");
                   jsonObject.put("count",page.getTotalResult());
                   jsonObject.put("data", varList); 
               } catch (Exception e) { 
                    logger.error(e.toString(), e); 
                    String result = jsonObject.toString(); 
                    out.write(result);
                    out.close();  
                 }
登录后复制

传到页面就不会出现中文乱码了

绘蛙AI商品图
绘蛙AI商品图

电商场景的AI创作平台,无需高薪聘请商拍和文案团队,使用绘蛙即可低成本、批量创作优质的商拍图、种草文案

绘蛙AI商品图 178
查看详情 绘蛙AI商品图

原来的后来的项目的springmvc配置文件里面没有相关的配置,之前的个人项目上有这段配置:

<%@ page="" language="java" contenttype="text/html; charset=UTF-8" pageencoding="UTF-8">
登录后复制

嗯,算是踩了个坑,分享一下

json返回中文全是问号

在RequestMapping里加上

produces = "text/plain;charset=UTF-8"
登录后复制

java返回json请求中文变成问号怎么解决

到此,相信大家对“java返回json请求中文变成问号怎么解决”有了更深的了解,不妨来实际操作一番吧!这里是本站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

以上就是java返回json请求中文变成问号怎么解决的详细内容,更多请关注php中文网其它相关文章!

相关标签:
java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:亿速云网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号