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