IDEA控制臺中文亂碼的完整解決方案(小白也能輕松解決)
在開發(fā)過程中,很多小伙伴會遇到這種情況:
在 IntelliJ IDEA 的控制臺里,本來是中文路徑或日志,卻顯示成一堆 ???????? 的亂碼。
比如:
[INFO] skip non existing resourceDirectory D:\01_Myspace\15_????????\outdoor-rental-mall\yudao-framework\yudao-common\src\main\resources
是不是很崩潰?別擔(dān)心,今天我們就來手把手解決這個問題。
一、為什么會亂碼?
主要原因有兩點(diǎn):
- 編碼不一致:IDEA 默認(rèn)的 JVM 編碼可能不是 UTF-8,而 Windows 系統(tǒng)默認(rèn)是 GBK。
- 路徑或日志里有中文:比如文件夾名字叫“戶外租賃商城”,Maven 或控制臺就可能顯示成亂碼。
二、解決方案
方法一:修改 IDEA 控制臺編碼(最常用)
- 打開 IDEA → 點(diǎn)擊菜單 Help → Edit Custom VM Options…
- 在文件里添加一行:
-Dfile.encoding=UTF-8
- 保存并重啟 IDEA。
這樣 IDEA 內(nèi)部 JVM 默認(rèn)編碼就是 UTF-8 了,控制臺就不會再亂碼。
方法二:修改 Maven 編碼
如果你是 運(yùn)行 Maven 項(xiàng)目 時看到亂碼,還要加上 Maven 的編碼配置。
在 pom.xml 里找到 <properties> 節(jié)點(diǎn),添加:
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
然后在 IDEA 里設(shè)置 Maven VM Options:
- 打開 File → Settings → Build Tools → Maven → Runner
- 在 VM Options 里加上:
-Dfile.encoding=UTF-8
方法三:避免中文路徑(推薦)
很多小伙伴的項(xiàng)目路徑里有中文,比如:
D:\01_Myspace\15_戶外租賃商城\outdoor-rental-mall
這種情況下,即使設(shè)置了 UTF-8,也可能還是有些地方亂碼。
解決辦法:
把項(xiàng)目移到全英文路徑,比如:
D:\workspace\outdoor-rental-mall
方法四:命令行切換編碼(備用方案)
如果你是在 Windows 的命令行運(yùn)行 Maven,可以先切換編碼:
- 打開 CMD 或 PowerShell
- 輸入命令:
chcp 65001
- 這樣命令行就用 UTF-8 了,再運(yùn)行 Maven,就不會亂碼。
三、最佳實(shí)踐
- IDEA、Maven 全部設(shè)置為 UTF-8
- 項(xiàng)目路徑、文件夾名盡量避免中文
- 運(yùn)行命令時可以先
chcp 65001
這樣基本上就能徹底告別亂碼問題啦 ??
四、總結(jié)
IDEA 控制臺中文亂碼其實(shí)就是編碼問題。
小白同學(xué)只要跟著下面這幾步走:
- 給 IDEA 加
-Dfile.encoding=UTF-8 - Maven 的
pom.xml配置好 UTF-8 - 盡量不要用中文路徑
就能解決 99% 的亂碼問題。
到此這篇關(guān)于IDEA控制臺中文亂碼的完整解決方案(小白也能輕松解決)的文章就介紹到這了,更多相關(guān)IDEA控制臺中文亂碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JDK20?+?SpringBoot?3.1.0?+?JdbcTemplate?使用案例詳解
通過 JdbcTemplate 直接執(zhí)行 SQL 語句,結(jié)合源碼動態(tài)編譯即可方便實(shí)現(xiàn)動態(tài)修改代碼邏輯的效果,這篇文章主要介紹了JDK20?+?SpringBoot?3.1.0?+?JdbcTemplate?使用,需要的朋友可以參考下2023-09-09
SpringBoot如何使用ApplicationContext獲取bean對象
這篇文章主要介紹了SpringBoot 如何使用ApplicationContext獲取bean對象,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
Java?Ribbon與openfeign區(qū)別和用法講解
Ribbon是基于Netflix?Ribbon實(shí)現(xiàn)的一套客戶端負(fù)載均衡的工具,主要功能是提供客戶端的軟件負(fù)載均衡算法和服務(wù)調(diào)用。openfeign對Feign進(jìn)行了增強(qiáng),使其支持Spring MVC注解,另外還整合了Ribbon和Nacos,從而使得Feign的使用更加方便2022-08-08
java實(shí)現(xiàn)點(diǎn)擊按鈕彈出新窗體功能
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)點(diǎn)擊按鈕彈出新窗體功能,舊窗體不進(jìn)行操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-07-07

