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

java?-jar啟動(dòng)參數(shù)設(shè)置file.encoding編碼,解決中文亂碼的問題

 更新時(shí)間:2023年07月20日 17:12:21   作者:快樂妮子  
這篇文章主要介紹了java?-jar啟動(dòng)參數(shù)設(shè)置file.encoding編碼,解決中文亂碼的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

java -jar啟動(dòng)參數(shù)設(shè)置file.encoding編碼,解決中文亂碼

最終解決辦法

java -Dfile.encoding=utf-8 -jar xxx.jar

起因

公司需要基于Jenkins平臺(tái)上,進(jìn)行一個(gè)批量構(gòu)建的項(xiàng)目開發(fā),就是個(gè)一次性可以調(diào)起多個(gè)項(xiàng)目的構(gòu)建,額,先說點(diǎn)題外話,要永遠(yuǎn)都記得一點(diǎn),客戶都是懶得~

BUG:

使用jenkins-client 請(qǐng)求http://jenkins服務(wù)器的域名/job/你的構(gòu)建項(xiàng)目名/api/json接口獲取數(shù)據(jù)(該接口可以獲取某個(gè)項(xiàng)目的大部分信息),但坑人的是,本地運(yùn)行不會(huì)亂碼,丟到服務(wù)器上就尷尬的一批,看圖

貓膩

部署到服務(wù)器上,**控制臺(tái),日志文件,頁(yè)面上的中文都沒有亂碼, 直接用瀏覽器訪問上述的jenkins api 接口 也顯示正常 ,唯獨(dú)就是代碼里jenkins api 返回的數(shù)據(jù)有亂碼 ** 真的憂桑啊啊啊啊

猜想

是不是對(duì)代碼里對(duì)reponse 的處理出了問題。額,,果然好像是的,

后臺(tái)查出來 本地 的 Charset.defaultCharset() 返回的是 UTF-8 , 而服務(wù)器的是GBK簡(jiǎn)體中文 ,想哭啊~ 百度了一波 ,查出這個(gè)返回值取決于系統(tǒng)的編碼環(huán)境。

解決思路

**改服務(wù)器的編碼環(huán)境啦啦啦。 **

嘗試解決

(1)設(shè)置了JAVA_TOOL_OPTIONS 系統(tǒng)環(huán)境變量

啟動(dòng)項(xiàng)目,spring日志里會(huì)出現(xiàn)一行 PICK UP JAVA_TOOL_OPTIONS 。。。

則說明生效了。

值得開心的是, 之前那個(gè)亂碼問題 解決啦 ,解決啦,值得憂桑的是,

  • 框架里的logback 里中文亂碼了,心碎 ;
  • jenkins 打包項(xiàng)目 里,涉及到cmd 里的命令 , 參數(shù)傳遞 ,和 日志 輸出 ,中文亂碼了

看來這方法不靠譜,修改的應(yīng)該是整個(gè)環(huán)境的編碼,使用還是要慎重?。。?/p>

(2)最后查到修改某個(gè)項(xiàng)目的編碼

注意是某個(gè)項(xiàng)目的運(yùn)行環(huán)境,不是系統(tǒng)的環(huán)境,可以在啟動(dòng)參數(shù)的時(shí)候設(shè)定:java -Dfile.encoding=utf-8 -jar xxx.jar,獲取api數(shù)據(jù)亂碼的問題當(dāng)然是解決了,可控制臺(tái)的中文依舊亂碼。。。

再解決問題:logback.xml指定編碼為GBK 。

大膽猜想下,logback 在沒有設(shè)置編碼的情況下,默認(rèn)應(yīng)該是跟著當(dāng)前jvm的編碼走的,所以logback的編碼也變成了UTF-8 ,而我系統(tǒng)的cmd窗口輸出是接受的是中文(取決于系統(tǒng)的編碼)。

如下圖所示:

最后把logback輸出到控制臺(tái)的編碼改成中文的就解決。

要將logback的編碼和控制臺(tái)的編碼一致

就這樣,最終的問題都解決了~~

最后還是有個(gè)疑問,解決控制臺(tái)亂碼,嘗試著修改cmd窗口的的編碼改為utf-8 (用chcp 65001 ) 和 該系統(tǒng)保持一致,logback.xml 改成utf-8 編碼,并沒啥用??鄲纞

經(jīng)過這次,個(gè)人覺得以后的logback.xml里最好明確下編碼格式,和當(dāng)前整個(gè)系統(tǒng)的編碼一致,而不是簡(jiǎn)單的一個(gè)項(xiàng)目的運(yùn)行環(huán)境編碼。

總結(jié)

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

相關(guān)文章

  • Spring前后端跨域請(qǐng)求設(shè)置代碼實(shí)例

    Spring前后端跨域請(qǐng)求設(shè)置代碼實(shí)例

    這篇文章主要介紹了Spring前后端跨域請(qǐng)求設(shè)置代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Java 客戶端向服務(wù)端上傳mp3文件數(shù)據(jù)的實(shí)例代碼

    Java 客戶端向服務(wù)端上傳mp3文件數(shù)據(jù)的實(shí)例代碼

    這篇文章主要介紹了Java 客戶端向服務(wù)端上傳mp3文件數(shù)據(jù)的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-09-09
  • maven加入spring框架的詳細(xì)教程

    maven加入spring框架的詳細(xì)教程

    這篇文章主要介紹了maven加入spring框架的詳細(xì)教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • SpringBoot實(shí)現(xiàn)redis延遲隊(duì)列的示例代碼

    SpringBoot實(shí)現(xiàn)redis延遲隊(duì)列的示例代碼

    延時(shí)隊(duì)列場(chǎng)景在我們?nèi)粘I(yè)務(wù)開發(fā)中經(jīng)常遇到,它是一種特殊類型的消息隊(duì)列,本文就來介紹一下SpringBoot實(shí)現(xiàn)redis延遲隊(duì)列的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • 淺談java8中map的新方法--replace

    淺談java8中map的新方法--replace

    下面小編就為大家?guī)硪黄獪\談java8中map的新方法--replace。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-10-10
  • SpringBoot解決循環(huán)調(diào)用問題

    SpringBoot解決循環(huán)調(diào)用問題

    作者在將SpringBoot從1.5版本升級(jí)至2.6版本,并遷移至阿里云上運(yùn)行后,遇到了循環(huán)調(diào)用問題,在Jetty容器中運(yùn)行沒問題,但在Tomcat容器中就出現(xiàn)了循環(huán)引用問題,原因是SpringBoot 2.6不鼓勵(lì)循環(huán)引用,暴露出該問題,作者提供了兩種解決思路
    2024-10-10
  • SpringBoot項(xiàng)目打jar包與war包的詳細(xì)步驟

    SpringBoot項(xiàng)目打jar包與war包的詳細(xì)步驟

    SpringBoot和我們之前學(xué)習(xí)的web應(yīng)用程序不一樣,其本質(zhì)上是一個(gè) Java應(yīng)用程序,那么又如何部署呢?這篇文章主要給大家介紹了關(guān)于SpringBoot項(xiàng)目打jar包與war包的詳細(xì)步驟,需要的朋友可以參考下
    2023-02-02
  • Java 集合實(shí)現(xiàn)分頁(yè)的方法(業(yè)務(wù)代碼實(shí)現(xiàn)分頁(yè))

    Java 集合實(shí)現(xiàn)分頁(yè)的方法(業(yè)務(wù)代碼實(shí)現(xiàn)分頁(yè))

    在Java開發(fā)中,有些場(chǎng)景比較復(fù)雜,受限制,不好在sql查詢層面實(shí)現(xiàn)分頁(yè),需要在查詢的list結(jié)果后,將list分頁(yè)返回,如何實(shí)現(xiàn)呢,帶著這個(gè)問題一起通過本文學(xué)習(xí)吧
    2025-02-02
  • Springboot實(shí)現(xiàn)自定義錯(cuò)誤頁(yè)面的方法(錯(cuò)誤處理機(jī)制)

    Springboot實(shí)現(xiàn)自定義錯(cuò)誤頁(yè)面的方法(錯(cuò)誤處理機(jī)制)

    這篇文章主要介紹了Springboot實(shí)現(xiàn)自定義錯(cuò)誤頁(yè)面的方法(錯(cuò)誤處理機(jī)制),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • java實(shí)現(xiàn)大文件導(dǎo)出的實(shí)現(xiàn)與優(yōu)化

    java實(shí)現(xiàn)大文件導(dǎo)出的實(shí)現(xiàn)與優(yōu)化

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)大文件導(dǎo)出的實(shí)現(xiàn)與優(yōu)化的相關(guān)資料,文中的示例代碼講解詳細(xì),對(duì)我們深入了解java有一定的幫助,感興趣的小伙伴可以了解下
    2023-11-11

最新評(píng)論