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頁面有效,關(guān)閉后重新打開都會(huì)恢復(fù)成GBK,
打開cmd,輸入以下命令
chcp 65001
這樣既可以更改cmd的編碼為UTF-8了。
以下是常用的cmd編碼
字符編碼 | 對(duì)應(yīng)字符 |
GBK(默認(rèn)) | 936 |
美國英語 | 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ù)編寫成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ù)填寫“chcp 65001”,確定

此時(shí)打開cmd已經(jīng)默認(rèn)是utf8了

也沒有出現(xiàn)亂碼情況

總結(jié)
到此這篇關(guān)于Java運(yùn)行時(shí)jar終端輸出的中文日志亂碼兩種解決方式的文章就介紹到這了,更多相關(guān)運(yùn)行jar終端輸出中文日志亂碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring實(shí)現(xiàn)國際化與本地化的詳細(xì)步驟
在全球化背景下,應(yīng)用支持多語言和本地化顯示是滿足不同地區(qū)用戶需求的關(guān)鍵,Spring 的國際化與本地化功能,能幫助開發(fā)者輕松實(shí)現(xiàn)應(yīng)用的語言切換與區(qū)域適配,下面從核心概念、實(shí)現(xiàn)步驟、應(yīng)用場(chǎng)景等方面詳細(xì)解析其實(shí)現(xiàn)方式,需要的朋友可以參考下2025-06-06
Java更新調(diào)度器(update scheduler)的使用詳解
Java更新調(diào)度器是Java中的一個(gè)特性,可以自動(dòng)化Java應(yīng)用程序的更新過程,它提供了一種方便的方式來安排Java應(yīng)用程序的更新,確保其與最新的功能、錯(cuò)誤修復(fù)和安全補(bǔ)丁保持同步,本文將深入介紹如何使用Java更新調(diào)度器,并解釋它對(duì)Java開發(fā)人員和用戶的好處2023-11-11
基于Redis分布式鎖Redisson及SpringBoot集成Redisson
這篇文章主要介紹了基于Redis分布式鎖Redisson及SpringBoot集成Redisson,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小小伙伴可以參考一下2022-09-09
java.lang.IllegalArgumentException:Invalid character&nb
本文介紹了java.lang.IllegalArgumentException: Invalid character found異常的解決,方法包括檢查代碼中的方法名,使用合適的HTTP請(qǐng)求方法常量,使用第三方HTTP庫,檢查請(qǐng)求URL以及使用調(diào)試和日志工具,通過這些方法,我們可以解決異常并確保網(wǎng)絡(luò)應(yīng)用程序的正常運(yùn)行2023-10-10
Java實(shí)現(xiàn)數(shù)字轉(zhuǎn)成英文的方法
這篇文章主要介紹了Java實(shí)現(xiàn)數(shù)字轉(zhuǎn)成英文的方法,涉及java數(shù)組與字符串的相關(guān)操作技巧,需要的朋友可以參考下2015-05-05

