> Java > java지도 시간 > Java가 중국어로 json 요청을 반환하고 이를 물음표로 바꿀 때 문제를 해결하는 방법

Java가 중국어로 json 요청을 반환하고 이를 물음표로 바꿀 때 문제를 해결하는 방법

WBOY
풀어 주다: 2023-04-15 10:15:15
앞으로
1933명이 탐색했습니다.

java는 json 요청을 반환하고 한자가 물음표로 변경됩니다

개인 프로젝트에서layui의 데이터 형식을 사용하여 데이터를 얻을 때 한자가 물음표로 변경되는 문제가 발생하지 않는 것으로 나타났습니다

나중에 프로젝트를 변경했는데 Done? 페이지에서 반환된 json 데이터가 중국어로 변경된 것을 발견했습니다. ? ? 물음표.

그래서 문제의 원인을 조사하기 시작했습니다. 먼저 jsp 페이지 헤더가 UTF-8 인코딩을 사용하는지 확인하세요.

<%@ page="" language="java" contenttype="text/html; charset=UTF-8" pageencoding="UTF-8">
로그인 후 복사

페이지 문제가 아니므로 이전 배경 코드일 것입니다. is:

    /**      * 获取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");을 추가한 후

  /**      * 获取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();  
                 }
로그인 후 복사

페이지에 전달되면 중국어 문자가 깨져 표시되지 않는 것으로 나타났습니다. 나타납니다

나중 프로젝트의 원래 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿