IDEA| 亂碼問題彙總


一.設置編碼

1.全局設置編碼
可是設置新建項目是缺省配置,通常國內統一設置成UTF-8編碼.默認的項目項目也是UTF-8,以及Properties配置文件也設置成UTF-8.需要注意的是對於Properties文件編碼的設置,屬性 Transparent native-to-ascii conversion 主要用於轉換 ascii,一般都要勾選,不然 Properties 文件中的註釋顯示的都不會是中文。
在這裏插入圖片描述

2.當前項目生效的設置
雖然配置了全局缺省的配置, 但是有時候我們需要對某個單獨的項目設置單獨的編碼,這時候我們就需要設置項目級別的編碼了.具體在 File–>Settings 下設置.
在這裏插入圖片描述

3.單個文件編碼設置
這是最小力度的編碼設置,可以對指定的文件設置編碼.
首先,我們可以在右下角看到當前文件的編碼格式設置,以及換行符的設置,下圖中顯示的是該文件的編碼是UTF-8編碼.接下來我們對該文件的編碼進行更改,直接點擊編碼選擇指定的編碼既可.
例如:我將原本編碼爲UTF-8的編碼修改爲GBK的編碼,這時候會出現以下的提示.
在這裏插入圖片描述


Reload :
Reload :表示使用新編碼重新加載,新編碼不會保存到文件中,重新打開此文件,舊編碼是什麼依舊還是什麼。

Convert:
Convert表示使用新編碼進行轉換,新編碼會保存到文件中,重新打開此文件,新編碼是什麼則是什麼。含有中文的代碼文件,Convert 之後可能會使中文變成亂碼,所以在轉換成請做好備份,不然可能出現轉換過程變成亂碼,無法還原。


二. 設置程序讀取編碼

關於文件的編碼已經設置完成了,接下來就是設置讀取文件的編碼,不過是普通的Java程序還是Web程序,在啓動的時候,我們都可以通過指定VM參數-Dfile.encoding=UTF-8的方式來設置以什麼編碼格式來讀取文件.比如在Tomcat容器中,我們可以做如下設置:
在這裏插入圖片描述
在程序中,我們同種都是通過System.getProperty("file.encoding");的來獲取系統設置的編碼.


三. 關於IDEA中的亂碼

關於在IDEA中的亂碼,我們可以考慮設置IDEA的系統屬性的方式來解決亂碼,原理是同上的,保證文件編碼和系統讀取文件時的編碼一直就不會有亂碼問題,現在基本都是約定編碼格式爲UTF-8.
在這裏插入圖片描述
在相應的配置文件中,也可以個文件都添加-Dfile.encoding=UTF-8,比如idea64.exe.vmoptions修改後的內容如下

-Xms128m
-Xmx750m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Dfile.encoding=UTF-8

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章