Java運(yùn)行時(shí)jar終端輸出的中文日志亂碼兩種解決方式
發(fā)現(xiàn)錯(cuò)誤
運(yùn)行Jar時(shí)在控制臺(tái)輸出的中文日志全是亂碼,這是因?yàn)閏md/bash默認(rèn)的編碼是GBK,只要把cmd的編碼改成UTF-8即可
兩種方式修改:臨時(shí)修改和注冊(cè)表永久修改
臨時(shí)修改
只對(duì)當(dāng)前的cmd頁(yè)面有效,關(guān)閉后重新打開(kāi)都會(huì)恢復(fù)成GBK,
打開(kāi)cmd,輸入以下命令
chcp 65001
這樣既可以更改cmd的編碼為UTF-8了。
以下是常用的cmd編碼
字符編碼 | 對(duì)應(yīng)字符 |
GBK(默認(rèn)) | 936 |
美國(guó)英語(yǔ) | 437 |
utf-8 | 65001 |
這時(shí)候我們可以將運(yùn)行Jar時(shí),指定編碼參數(shù)
java -Dfile.encoding=utf-8 -jar project.jar
這時(shí)候已經(jīng)恢復(fù)正常了
為了方便也可以把修改編碼和運(yùn)行jar服務(wù)編寫(xiě)成bat文件,下次直接點(diǎn)擊運(yùn)行
chcp 65001
java -Dfile.encoding=utf-8 -jar project.jar
永久修改
(1)win鍵+R,輸入regedit,確定
(2)按順序找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
(3)點(diǎn)擊右鍵-新建,選擇“字符串值”,命名為“autorun”, 點(diǎn)擊右擊修改,數(shù)值數(shù)據(jù)填寫(xiě)“chcp 65001”,確定
此時(shí)打開(kāi)cmd已經(jīng)默認(rèn)是utf8了
也沒(méi)有出現(xiàn)亂碼情況
總結(jié)
到此這篇關(guān)于Java運(yùn)行時(shí)jar終端輸出的中文日志亂碼兩種解決方式的文章就介紹到這了,更多相關(guān)運(yùn)行jar終端輸出中文日志亂碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用IDEA創(chuàng)建SpringBoot項(xiàng)目
本文詳細(xì)介紹了使用SpringBoot創(chuàng)建項(xiàng)目,包含配置、啟動(dòng)、開(kāi)發(fā)環(huán)境配置等,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12SpringCloud?Gateway讀取Request?Body方式
這篇文章主要介紹了SpringCloud?Gateway讀取Request?Body方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03Springboot實(shí)現(xiàn)密碼的加密解密
這篇文章主要為大家詳細(xì)介紹了Springboot實(shí)現(xiàn)密碼的加密解密,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11Spring Security使用Lambda DSL配置流程詳解
Spring Security 5.2 對(duì) Lambda DSL 語(yǔ)法的增強(qiáng),允許使用lambda配置HttpSecurity、ServerHttpSecurity,重要提醒,之前的配置方法仍然有效。lambda的添加旨在提供更大的靈活性,但是用法是可選的。讓我們看一下HttpSecurity的lambda配置與以前的配置樣式相比2023-02-02Spring?Boot實(shí)現(xiàn)配置文件的自動(dòng)加載和刷新功能
這篇文章我們介紹了Spring?Boot如何實(shí)現(xiàn)配置文件的自動(dòng)加載和刷新,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-05-05Java基礎(chǔ)之多線程方法狀態(tài)和創(chuàng)建方法
Java中可以通過(guò)Thread類和Runnable接口來(lái)創(chuàng)建多個(gè)線程,下面這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)之多線程方法狀態(tài)和創(chuàng)建方法的相關(guān)資料,需要的朋友可以參考下2021-09-09Java使用設(shè)計(jì)模式中的工廠方法模式實(shí)例解析
當(dāng)系統(tǒng)準(zhǔn)備為用戶提供某個(gè)類的子類的實(shí)例,又不想讓用戶代碼和該子類形成耦合時(shí),就可以使用工廠方法模式來(lái)設(shè)計(jì)系統(tǒng).工廠方法模式的關(guān)鍵是在一個(gè)接口或抽象類中定義一個(gè)抽象方法,下面我們會(huì)具體介紹Java使用設(shè)計(jì)模式中的工廠方法模式實(shí)例解析.2016-05-05