欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決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 類(lèi)默認(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ū)域名稱(chēng)字段
#filter.region.name=檢測(cè)機(jī)構(gòu),檢測(cè)站,檢車(chē)站,檢車(chē),服務(wù)機(jī)構(gòu),查驗(yàn)機(jī)構(gòu),安檢,服務(wù)站,查驗(yàn)區(qū),車(chē)管所,報(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)位名稱(chēng)字段
#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)文章

  • 詳解Java中Object?類(lèi)的使用

    詳解Java中Object?類(lèi)的使用

    Java的Object?類(lèi)是所有類(lèi)的父類(lèi),也就是說(shuō)?Java?的所有類(lèi)都繼承了?Object,本文主要來(lái)和大家講講Object?類(lèi)的使用,感興趣的可以了解一下
    2023-05-05
  • Java中的ThreadLocalMap源碼解讀

    Java中的ThreadLocalMap源碼解讀

    這篇文章主要介紹了Java中的ThreadLocalMap源碼解讀,ThreadLocalMap是ThreadLocal的內(nèi)部類(lèi),是一個(gè)key-value數(shù)據(jù)形式結(jié)構(gòu),也是ThreadLocal的核心,需要的朋友可以參考下
    2023-09-09
  • JDK1.8安裝與配置超詳細(xì)教程

    JDK1.8安裝與配置超詳細(xì)教程

    JDK1.8即為JDK8,JDK8是目前是最成熟最穩(wěn)定的版本,本文將詳細(xì)介紹JDK1.8的安裝與配置,需要的朋友可以參考下
    2023-03-03
  • SpringBoot解決跨域問(wèn)題小結(jié)

    SpringBoot解決跨域問(wèn)題小結(jié)

    在現(xiàn)代Web應(yīng)用中,由于安全性和隱私的考慮,瀏覽器限制了從一個(gè)域向另一個(gè)域發(fā)起的跨域HTTP請(qǐng)求,Spring?Boot提供了多種方式來(lái)處理跨域請(qǐng)求,本文將介紹其中的幾種方法,感興趣的朋友一起看看吧
    2023-12-12
  • Activiti7通過(guò)代碼動(dòng)態(tài)生成工作流實(shí)現(xiàn)詳解

    Activiti7通過(guò)代碼動(dòng)態(tài)生成工作流實(shí)現(xiàn)詳解

    這篇文章主要為大家介紹了Activiti7通過(guò)代碼動(dòng)態(tài)生成工作流實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 詳解Mybatis是如何把數(shù)據(jù)庫(kù)數(shù)據(jù)封裝到對(duì)象中的

    詳解Mybatis是如何把數(shù)據(jù)庫(kù)數(shù)據(jù)封裝到對(duì)象中的

    這篇文章主要介紹了Mybatis是如何把數(shù)據(jù)庫(kù)數(shù)據(jù)封裝到對(duì)象中的,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Swagger2配置Security授權(quán)認(rèn)證全過(guò)程

    Swagger2配置Security授權(quán)認(rèn)證全過(guò)程

    這篇文章主要介紹了Swagger2配置Security授權(quán)認(rèn)證全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Springboot+Mybatis實(shí)現(xiàn)分頁(yè)加條件查詢(xún)功能

    Springboot+Mybatis實(shí)現(xiàn)分頁(yè)加條件查詢(xún)功能

    這篇文章主要為大家詳細(xì)介紹了Springboot+Mybatis實(shí)現(xiàn)分頁(yè)加條件查詢(xún),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • java從鍵盤(pán)輸入數(shù)字并判斷大小的方法

    java從鍵盤(pán)輸入數(shù)字并判斷大小的方法

    今天小編就為大家分享一篇java從鍵盤(pán)輸入數(shù)字并判斷大小的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • java如何根據(jù)HttpServletRequest獲取IP地址

    java如何根據(jù)HttpServletRequest獲取IP地址

    文章介紹了幾種代理服務(wù)器轉(zhuǎn)發(fā)服務(wù)請(qǐng)求頭的方法,這些請(qǐng)求頭可能包含真實(shí)IP地址,但并不是所有的代理都會(huì)包括這些請(qǐng)求頭,而且這些IP地址可能被偽造
    2025-03-03

最新評(píng)論