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

解決springboot讀取application.properties中文亂碼問(wèn)題

 更新時(shí)間:2023年11月02日 09:49:43   作者:SeaDhdhdhdhdh  
初用properties,讀取java properties文件的時(shí)候如果value是中文,會(huì)出現(xiàn)亂碼的問(wèn)題,所以本文小編將給大家介紹如何解決springboot讀取application.properties中文亂碼問(wèn)題,需要的朋友可以參考下

1 前言:

初用properties,讀取java properties文件的時(shí)候如果value是中文,會(huì)出現(xiàn)亂碼的問(wèn)題。我們首先需要明了亂碼問(wèn)題的根源。在 Java 中,字符通常以 Unicode 編碼表示,而 Properties 類默認(rèn)采用 ISO-8859-1 編碼來(lái)處理字符。因此,當(dāng)我們?cè)?Properties 文件中存儲(chǔ)中文字符時(shí),就可能導(dǎo)致亂碼問(wèn)題的出現(xiàn)。

2 本地環(huán)境中的解決方案(以idea為例)

將上述默認(rèn)encoding設(shè)置為utf-8,并勾選右側(cè)復(fù)選框。即可實(shí)現(xiàn)application.properties中的中文值的讀取,僅限于本地環(huán)境。

3 全部解決方案

使用UTF-8編碼:將Properties文件的編碼格式設(shè)置為UTF-8,可以避免中文亂碼問(wèn)題。可以通過(guò)在讀取和寫(xiě)入Properties文件時(shí),指定字符編碼為UTF-8來(lái)實(shí)現(xiàn)。例如:

Properties properties = new Properties();
 
try (InputStream inputStream = new FileInputStream("config.properties")) {
 
properties.load(new InputStreamReader(inputStream, "UTF-8"));
 
} catch (IOException e) {
 
e.printStackTrace();
 
try (OutputStream outputStream = new FileOutputStream("config.properties")) {
 
properties.store(new OutputStreamWriter(outputStream, "UTF-8"), null);
 
} catch (IOException e) {
 
e.printStackTrace();

轉(zhuǎn)換編碼:如果無(wú)法修改Properties文件的編碼格式,我們可以在讀取和寫(xiě)入Properties文件時(shí),進(jìn)行編碼轉(zhuǎn)換。例如,將ISO-8859-1編碼的字符串轉(zhuǎn)換為UTF-8編碼的字符串:

String value = properties.getProperty("key");
 
String utf8Value = new String(value.getBytes("ISO-8859-1"), "UTF-8");

在寫(xiě)入Properties文件時(shí),也需要進(jìn)行相應(yīng)的編碼轉(zhuǎn)換:

String utf8Value = "中文";
 
String isoValue = new String(utf8Value.getBytes("UTF-8"), "ISO-8859-1");
 
properties.setProperty("key", isoValue);

使用Unicode轉(zhuǎn)義序列:如果以上方法都無(wú)法解決問(wèn)題(目前本人遇到的就是這種情況),我們可以使用Unicode轉(zhuǎn)義序列來(lái)表示中文字符。在配置文件文件中將需要配置的中文換成unicode編碼。使用@value注解讀取時(shí)會(huì)自動(dòng)轉(zhuǎn)碼。

# 需要過(guò)濾的區(qū)域名稱字段
#filter.region.name=檢測(cè)機(jī)構(gòu),檢測(cè)站,檢車站,檢車,服務(wù)機(jī)構(gòu),查驗(yàn)機(jī)構(gòu),安檢,服務(wù)站,查驗(yàn)區(qū),車管所,報(bào)廢庫(kù),監(jiān)測(cè),檢測(cè)
filter.region.name=\u68c0\u6d4b\u673a\u6784,\u68c0\u6d4b\u7ad9,\u68c0\u8f66\u7ad9,\u68c0\u8f66,\u670d\u52a1\u673a\u6784,\u67e5\u9a8c\u673a\u6784,\u5b89\u68c0,\u670d\u52a1\u7ad9,\u67e5\u9a8c\u533a,\u8f66\u7ba1\u6240,\u62a5\u5e9f\u5e93,\u76d1\u6d4b,\u68c0\u6d4b
# 需要過(guò)濾的點(diǎn)位名稱字段
#filter.camera.name=查驗(yàn),檢驗(yàn)
filter.camera.name=\u67e5\u9a8c,\u68c0\u9a8c

以上就是解決springboot讀取application.properties中文亂碼問(wèn)題的詳細(xì)內(nèi)容,更多關(guān)于springboot讀取application.properties中文亂碼的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • mybatis插入后返回主鍵id的3種方式圖解

    mybatis插入后返回主鍵id的3種方式圖解

    這篇文章主要給大家介紹了關(guān)于mybatis插入后返回主鍵id的3種方式,很多時(shí)候,在向數(shù)據(jù)庫(kù)插入數(shù)據(jù)時(shí),需要保留插入數(shù)據(jù)的,以便進(jìn)行后續(xù)的操作或者將存入其他表作為外鍵,需要的朋友可以參考下
    2023-08-08
  • Java使用Request獲取請(qǐng)求參數(shù)的通用方式詳解

    Java使用Request獲取請(qǐng)求參數(shù)的通用方式詳解

    這篇文章主要給大家介紹了關(guān)于Java使用Request獲取請(qǐng)求參數(shù)的通用方式,在Java后端開(kāi)發(fā)中第一步就是獲取前端傳過(guò)來(lái)的請(qǐng)求參數(shù),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • Mybatis實(shí)現(xiàn)分頁(yè)查詢的詳細(xì)流程

    Mybatis實(shí)現(xiàn)分頁(yè)查詢的詳細(xì)流程

    這篇文章主要給大家介紹了關(guān)于Mybatis實(shí)現(xiàn)分頁(yè)查詢的詳細(xì)流程,MyBatis是支持普通SQL查詢,存儲(chǔ)過(guò)程和高級(jí)映射的優(yōu)秀持久層框架,需要的朋友可以參考下
    2023-08-08
  • SpringBoot?+?Redis如何解決重復(fù)提交問(wèn)題(冪等)

    SpringBoot?+?Redis如何解決重復(fù)提交問(wèn)題(冪等)

    在開(kāi)發(fā)中,一個(gè)對(duì)外暴露的接口可能會(huì)面臨瞬間的大量重復(fù)請(qǐng)求,本文就介紹了SpringBoot + Redis如何解決重復(fù)提交問(wèn)題,具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-12-12
  • 詳解如何使用Mybatis的攔截器

    詳解如何使用Mybatis的攔截器

    MyBatis?攔截器是?MyBatis?提供的一個(gè)強(qiáng)大特性,它允許你在?MyBatis?執(zhí)行其核心邏輯的關(guān)鍵節(jié)點(diǎn)插入自定義邏輯,從而改變?MyBatis?的默認(rèn)行為,本文給大家詳細(xì)介紹了如何使用Mybatis的攔截器,需要的朋友可以參考下
    2024-03-03
  • Java線程的6種狀態(tài)及轉(zhuǎn)化方式

    Java線程的6種狀態(tài)及轉(zhuǎn)化方式

    本文詳細(xì)介紹了Java線程的六種狀態(tài)以及狀態(tài)之間的轉(zhuǎn)換關(guān)系,線程狀態(tài)包括NEW(新建)、RUNNABLE(運(yùn)行)、BLOCKED(阻塞)、WAITING(等待)、TIMED_WAITING(超時(shí)等待)和TERMINATED(終止)
    2024-09-09
  • Java多線程鎖機(jī)制相關(guān)原理實(shí)例解析

    Java多線程鎖機(jī)制相關(guān)原理實(shí)例解析

    這篇文章主要介紹了Java多線程鎖機(jī)制相關(guān)原理實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 淺談java項(xiàng)目與javaweb項(xiàng)目導(dǎo)入jar包的區(qū)別

    淺談java項(xiàng)目與javaweb項(xiàng)目導(dǎo)入jar包的區(qū)別

    下面小編就為大家分享一篇淺談java項(xiàng)目與javaweb項(xiàng)目導(dǎo)入jar包的區(qū)別,具有很好的參考價(jià)值。希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • 緩存工具類ACache使用方法詳解

    緩存工具類ACache使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了緩存工具類ACache的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Java SwingWorkder使用實(shí)例

    Java SwingWorkder使用實(shí)例

    最近在學(xué)習(xí)Swing,我們都知道在UI表現(xiàn)線程里面長(zhǎng)時(shí)間執(zhí)行操作時(shí),畫(huà)面會(huì)假死,為了能夠讓費(fèi)時(shí)操作不影響畫(huà)面表現(xiàn),就需要用多線程了
    2014-04-04

最新評(píng)論

鄂伦春自治旗| 庆城县| 鄂伦春自治旗| 六安市| 宜春市| 琼海市| 平阴县| 泸溪县| 高台县| 大厂| 五河县| 泸定县| 六枝特区| 宕昌县| 乳山市| 特克斯县| 富蕴县| 吐鲁番市| 贵定县| 保康县| 德格县| 巨野县| 云阳县| 宁德市| 鸡泽县| 惠水县| 讷河市| 合阳县| 大邑县| 丰城市| 甘谷县| 汉源县| 甘孜县| 昌黎县| 内黄县| 虹口区| 松桃| 林西县| 双峰县| 平果县| 额尔古纳市|