Rumah >Java >javaTutorial >Bagaimana untuk menyelesaikan masalah apabila java mengembalikan permintaan json dalam bahasa Cina dan mengubahnya menjadi tanda tanya

Bagaimana untuk menyelesaikan masalah apabila java mengembalikan permintaan json dalam bahasa Cina dan mengubahnya menjadi tanda tanya

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBke hadapan
2023-04-15 09:25:071997semak imbas

java mengembalikan permintaan json dan aksara Cina ditukar menjadi tanda tanya

Ternyata dalam projek peribadi saya, apabila menggunakan borang data layui untuk mendapatkan data, masalah aksara Cina berubah menjadi soalan tanda tidak berlaku

Kemudian saya menukar projek , mendapati bahawa data json yang dikembalikan ditukar kepada bahasa Cina pada halaman? ? ? tanda tanya.

Jadi, kami mula menyiasat punca masalah Pertama, pastikan pengepala halaman jsp menggunakan pengekodan UTF-8:

<%@ page="" language="java" contenttype="text/html; charset=UTF-8" pageencoding="UTF-8">

Memandangkan ia bukan masalah halaman, ia. mestilah masalah latar belakang. Latar belakang sebelumnya Kodnya ialah:

    /**      * 获取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(); 
                     }

Selepas menyemak, saya mendapati bahawa 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();  
                 }

Watak-watak Cina yang kacau-bilau tidak akan muncul apabila dimuat naik ke halaman

Tiada konfigurasi yang berkaitan dalam fail konfigurasi springmvc bagi projek asal kemudiannya projek peribadi:

<%@ page="" language="java" contenttype="text/html; charset=UTF-8" pageencoding="UTF-8">

Nah, saya terpijak perangkap, biar saya kongsikan

Json yang dikembalikan dalam bahasa Cina penuh dengan tanda tanya

Tambah

produces = "text/plain;charset=UTF-8"

Bagaimana untuk menyelesaikan masalah apabila java mengembalikan permintaan json dalam bahasa Cina dan mengubahnya menjadi tanda tanya

Pada ketika ini, saya percaya semua orang mempunyai pemahaman yang lebih mendalam tentang "Bagaimana untuk menyelesaikan masalah "java mengembalikan permintaan json bahasa Cina ke dalam tanda soal", anda mungkin serta lakukan dalam amalan! Ini adalah laman web ini untuk lebih banyak kandungan yang berkaitan, anda boleh memasuki saluran yang berkaitan untuk pertanyaan.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah apabila java mengembalikan permintaan json dalam bahasa Cina dan mengubahnya menjadi tanda tanya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam