最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java返回json請(qǐng)求中文變成問(wèn)號(hào)的問(wèn)題及解決

 更新時(shí)間:2022年07月01日 10:03:54   作者:GuoMiao丿  
這篇文章主要介紹了java返回json請(qǐng)求中文變成問(wèn)號(hào)的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

java返回json請(qǐng)求中文變成問(wèn)號(hào)

原來(lái)在個(gè)人項(xiàng)目時(shí),用layui的數(shù)據(jù)表格獲取數(shù)據(jù)時(shí),不會(huì)出現(xiàn)中文變問(wèn)號(hào)問(wèn)題

后來(lái)?yè)Q了個(gè)項(xiàng)目,發(fā)現(xiàn)返回的json數(shù)據(jù)到頁(yè)面中文變成了???問(wèn)號(hào)。

于是開(kāi)始排查問(wèn)題出現(xiàn)的原因,首先jsp頁(yè)面頭部確保使用了UTF-8編碼:

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

既然不是頁(yè)面的問(wèn)題,肯定就是后臺(tái)問(wèn)題,之前的后臺(tái)代碼是:

? ? /**
?? ? * 獲取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;}
?? ??? ?// //校驗(yàn)權(quán)限
?? ??? ?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");
?
?? ??? ??? ?List<PageData> varList = af02Service.listForSCJ(page); // 列出AF02列表?? ??
?? ??? ??? ?//前臺(tái)通過(guò)key值獲得對(duì)應(yīng)的value值
?? ??? ??? ?jsonObject.put("code", 0);?? ??
?? ??? ??? ?jsonObject.put("msg", "測(cè)試");?? ?
?? ??? ??? ?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();
? ? }

排查了一下,發(fā)現(xiàn)在這段代碼上加上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;}
?? ??? ?// //校驗(yàn)權(quán)限
?? ??? ?PageData pd = this.getPageData();
? ? ? ? response.setContentType("text/html;charset=utf-8");// 加上這個(gè)處理問(wèn)號(hào)
?? ??? ?JSONObject jsonObject = new JSONObject();?? ?
?? ??? ?PrintWriter out = response.getWriter();
?? ??? ?try {
?? ??? ??? ?page.setPd(pd);
?? ??? ??? ?page.setCurrentPage(Integer.parseInt(pd.getString("page")));
?? ??? ??? ?pd.put("OPERATION_NUM", "10001");
?
?? ??? ??? ?List<PageData> varList = af02Service.listForSCJ(page); // 列出AF02列表?? ??
?? ??? ??? ?//前臺(tái)通過(guò)key值獲得對(duì)應(yīng)的value值
?? ??? ??? ?jsonObject.put("code", 0);?? ??
?? ??? ??? ?jsonObject.put("msg", "測(cè)試");?? ?
?? ??? ??? ?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();
? ? }

傳到頁(yè)面就不會(huì)出現(xiàn)中文亂碼了

原來(lái)的后來(lái)的項(xiàng)目的springmvc配置文件里面沒(méi)有相關(guān)的配置,之前的個(gè)人項(xiàng)目上有這段配置:

<mvc:annotation-driven>
? ? ? ? <mvc:message-converters register-defaults="true">
? ? ? ? <bean id="stringHttpMessageConverter" class="org.springframework.http.converter.StringHttpMessageConverter">
? ? ? ? ? ? ? ? <property name="supportedMediaTypes" ?value="application/json;charset=UTF-8"/>
? ? ? ? ? ? </bean>
? ? ? ? </mvc:message-converters>
? ? </mvc:annotation-driven>

嗯,算是踩了個(gè)坑,分享一下

json返回中文全是問(wèn)號(hào)

在RequestMapping里加上

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

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java日期轉(zhuǎn)換注解配置date?format時(shí)間失效

    Java日期轉(zhuǎn)換注解配置date?format時(shí)間失效

    這篇文章主要為大家介紹了Java日期轉(zhuǎn)換注解配置date?format時(shí)間失效,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • SpringBoot如何使用Undertow做服務(wù)器

    SpringBoot如何使用Undertow做服務(wù)器

    這篇文章主要介紹了SpringBoot如何使用Undertow做服務(wù)器,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Java面向?qū)ο蠡A(chǔ)教學(xué)(一)

    Java面向?qū)ο蠡A(chǔ)教學(xué)(一)

    這篇文章主要介紹了Java的面相對(duì)象編程思想,包括類(lèi)對(duì)象方法和封裝繼承多態(tài)等各個(gè)方面的OOP基本要素,非常推薦,需要的朋友可以參考下,希望可以對(duì)你有所幫助
    2021-07-07
  • 最新評(píng)論

    含山县| 蓬安县| 盐亭县| 霍城县| 沂源县| 广东省| 汝城县| 南华县| 栾城县| 屏东县| 本溪市| 台南县| 汉沽区| 广灵县| 临猗县| 渭南市| 常德市| 峡江县| 濉溪县| 福州市| 汤原县| 平凉市| 西安市| 遂昌县| 苏尼特左旗| 民勤县| 万宁市| 开原市| 南部县| 庆元县| 田东县| 微博| 富平县| 九江县| 澎湖县| 舞阳县| 平泉县| 宝兴县| 巴里| 海阳市| 比如县|