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

Springboot使用ResponseBody漢字返回問(wèn)號(hào)問(wèn)題

 更新時(shí)間:2024年06月01日 08:39:05   作者:你猜我猜上青天  
這篇文章主要介紹了Springboot使用ResponseBody漢字返回問(wèn)號(hào)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

使用ResponseBody漢字返回問(wèn)號(hào)

說(shuō)明

突然有個(gè)接口在前臺(tái)彈出的中文信息突然變成問(wèn)號(hào)了。

情況

當(dāng)時(shí)排查以為是數(shù)據(jù)庫(kù)的問(wèn)題,但是在別的表都正常,我再新建的表返回也是問(wèn)號(hào),問(wèn)題應(yīng)該不是數(shù)據(jù)庫(kù)的問(wèn)題;

后懷疑idea的編碼問(wèn)題,但是環(huán)境是自動(dòng)發(fā)布在Linux上,猜測(cè)應(yīng)該不是編碼問(wèn)題,而且也不好測(cè)試;

而在本地環(huán)境測(cè)試時(shí)發(fā)現(xiàn),如果返回的是自己的pojo沒(méi)有問(wèn)題(單純的對(duì)象,沒(méi)有繼承和實(shí)現(xiàn)),就感覺(jué)很奇怪,直接返回字符串或者使用Gson().toJson()都是問(wèn)號(hào)。

結(jié)果

通過(guò)查詢發(fā)現(xiàn)是SpringMVC的普遍情況。

使用mvc時(shí),可以通過(guò)在xml里配置:

   <mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>text/plain;charset=UTF-8</value>
                        <value>text/html;charset=UTF-8</value>
                    </list>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

使用springboot時(shí),可以通過(guò)實(shí)現(xiàn)WebMvcConfigurer:

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        StringHttpMessageConverter converter = new StringHttpMessageConverter(Charset.forName("UTF-8"));
        converters.add(converter);
    }
}

使用@ResponseBody返回字符串亂碼的解決

在Java配置類文件中加入以下代碼即可解決:

import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
 
import java.nio.charset.StandardCharsets;
import java.util.List;
 
@Configuration
public class WebConfig extends WebMvcConfigurationSupport {
    
    @Override
    protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
        // 解決controller返回字符串中文亂碼問(wèn)題
        for (HttpMessageConverter<?> converter : converters) {
            if (converter instanceof StringHttpMessageConverter) {
                ((StringHttpMessageConverter)converter).setDefaultCharset(StandardCharsets.UTF_8);
            }
        }
    }
 
}

總結(jié)

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

相關(guān)文章

  • Java值傳遞之swap()方法不能交換的解決

    Java值傳遞之swap()方法不能交換的解決

    這篇文章主要介紹了Java值傳遞之swap()方法不能交換的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • Java實(shí)現(xiàn)PDF表格轉(zhuǎn)換為CSV的示例代碼

    Java實(shí)現(xiàn)PDF表格轉(zhuǎn)換為CSV的示例代碼

    在很多企業(yè)辦公和數(shù)據(jù)分析的場(chǎng)景中,PDF 中常常存放著報(bào)表、清單或統(tǒng)計(jì)數(shù)據(jù),本文將介紹如何借助 Free Spire.PDF for Java,在 Java 程序中完成 PDF 表格到 CSV 的自動(dòng)轉(zhuǎn)換,感興趣的看了解下
    2025-08-08
  • Java8如何從一個(gè)Stream中過(guò)濾null值

    Java8如何從一個(gè)Stream中過(guò)濾null值

    這篇文章主要介紹了Java8如何從一個(gè)Stream中過(guò)濾null值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • SpringBoot項(xiàng)目的logback日志配置(包括打印mybatis的sql語(yǔ)句)

    SpringBoot項(xiàng)目的logback日志配置(包括打印mybatis的sql語(yǔ)句)

    這篇文章主要介紹了SpringBoot項(xiàng)目的logback日志配置(包括打印mybatis的sql語(yǔ)句),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • java圖搜索算法之圖的對(duì)象化描述示例詳解

    java圖搜索算法之圖的對(duì)象化描述示例詳解

    這篇文章主要為大家介紹了java圖搜索算法之圖的對(duì)象化描述示例詳解,可以帶你秒殺所有的圖搜索算法,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • maven項(xiàng)目在svn中的上傳與檢出的方法

    maven項(xiàng)目在svn中的上傳與檢出的方法

    企業(yè)開(kāi)發(fā)中經(jīng)常使用svn來(lái)為我們控制代碼版本,也經(jīng)常使用maven來(lái)管理項(xiàng)目。下面將介紹一下如何將maven項(xiàng)目上傳到svn中,如何將項(xiàng)目從svn中檢出,感興趣的小伙伴們可以參考一下
    2019-02-02
  • java?synchronized關(guān)鍵字用法和底層原理舉例詳解

    java?synchronized關(guān)鍵字用法和底層原理舉例詳解

    synchronized關(guān)鍵字是java語(yǔ)言進(jìn)行多線程編程,非常常用的關(guān)鍵,這篇文章主要介紹了java?synchronized關(guān)鍵字用法和底層原理的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2026-01-01
  • 使用filebeat收集并解析springboot日志過(guò)程示例

    使用filebeat收集并解析springboot日志過(guò)程示例

    這篇文章主要為大家介紹了使用filebeat收集并解析springboot日志實(shí)現(xiàn)過(guò)程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • 對(duì)數(shù)據(jù)進(jìn)行分頁(yè)顯示到table中的實(shí)現(xiàn)方法

    對(duì)數(shù)據(jù)進(jìn)行分頁(yè)顯示到table中的實(shí)現(xiàn)方法

    這篇文章主要介紹了對(duì)數(shù)據(jù)進(jìn)行分頁(yè)顯示到table中的實(shí)現(xiàn)方法的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-05-05
  • idea報(bào)錯(cuò)java:?非法字符:?‘\ufeff‘的解決步驟以及說(shuō)明

    idea報(bào)錯(cuò)java:?非法字符:?‘\ufeff‘的解決步驟以及說(shuō)明

    這篇文章主要介紹了idea報(bào)錯(cuò)java:非法字符:\ufeff的解決步驟以及說(shuō)明,文章詳細(xì)解釋了為什么在Java中會(huì)出現(xiàn)\ufeff錯(cuò)誤,這是由于BOM字符被認(rèn)為是非法字符導(dǎo)致的,通過(guò)示例代碼將解決的過(guò)程介紹的非常詳細(xì),需要的朋友可以參考下
    2025-05-05

最新評(píng)論

镇雄县| 湘阴县| 许昌市| 宁强县| 军事| 巍山| 阳东县| 乐至县| 桂东县| 庐江县| 太原市| 德钦县| 诸城市| 邹平县| 平陆县| 永仁县| 内黄县| 宣武区| 南川市| 翼城县| 曲水县| 大田县| 岐山县| 海盐县| 伊宁县| 巢湖市| 万源市| 沧源| 通城县| 平顶山市| 长治市| 邵阳市| 榕江县| 河北区| 庆元县| 宁乡县| 锦屏县| 九龙城区| 丁青县| 原平市| 广丰县|