IntelliJ IDEA中文乱码解决办法
1. 預熱
剛剛接觸IntelliJ IDEA幾天,在易用性方面的確比Eclipse好很多,比較智能,各種插件、工具都已經集成,和Mac OS X類似——開箱即用,并且在試用了之后在開源中國三折(后悔2折的時候沒有下手)購買了授權。
但是還是老大難問題——中文亂碼,讓我不得不花費了一些時間去折騰它,這一點就不如Eclipse了,沒有遇到過亂碼問題。
亂碼問題表現在使用Web Server(Tomcat、Jetty)時輸出日志或者直接System.out.println("中文字符")時會出現,如果僅僅執(zhí)行類的main函數沒有問題。
2. 環(huán)境
我針對亂碼問題在不同的環(huán)境下進行了測試:
2.1. 系統語言:英文
我一直的習慣把系統語言設置為英文(強迫性記憶),這是第一次遇到亂碼問題,分析了程序執(zhí)行參數如下:
執(zhí)行后得到如下的結果,省略了classpath:
分析參數和編碼有關的只有一個:
2.2. 系統語言:中文
先說明一下如果系統語言設置為中文是沒有亂碼問題的,所以網上大量的重復文章的辦法是把"File Encoding"設置為GBK或者GB2312,但是很多系統的編碼不可能因為一個IDE而更改編碼,所以這種辦法直接無視!!!
切換到中文語言后分析執(zhí)行參數,和英文語言下不同的是:
3. 解決辦法
相信看完了分析已經知道如何解決問題了,因為MacRoman編碼不包含中文所以會出現亂碼,而設置系統語言為中文的時候系統默認設置為GB2312編碼,所以編碼問題自然就沒有了。
3.1. 步驟一
和項目編碼統一,更改IntelliJ IDEA啟動時的編碼參數即可,打開下面的配置文件:
找到key等于VMOptions位置,這里設置的虛擬機的參數,在后面追加下面的參數保存文件。
PS:從12.1版本開始默認添加了這個參數
3.2. 步驟二
不要以為問題解決了,實際上只完成了一半,因為是運行Web Server時出現的亂碼,所以Web Server的編碼要和IDEA保持一致:
這樣IDE的編碼(控制臺編碼受IDE影響)和Web Server輸出的編碼一致問題解決。
啟動Web Server之后再分析JVM的參數可以看到 -Dfile.encoding=UTF-8。
總結
以上是生活随笔為你收集整理的IntelliJ IDEA中文乱码解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android emulator虚拟设备
- 下一篇: 提高Python运行效率的六个窍门