1. 檢查并設置系統默認編碼
CentOS系統默認編碼需與Java編譯/運行時的編碼一致(推薦UTF-8)。通過locale
命令查看當前編碼設置,若LANG
、LC_ALL
等變量未設置為UTF-8(如en_US.UTF-8
),需調整:
export LANG=en_US.UTF-8
、export LC_ALL=en_US.UTF-8
;/etc/locale.conf
文件,添加LANG=en_US.UTF-8
,保存后執行source /etc/locale.conf
或重啟系統使更改生效。2. 編譯時指定Java源文件編碼
使用javac
命令編譯時,通過-encoding
參數明確指定源文件的編碼(如UTF-8),避免編譯器因默認編碼不匹配導致亂碼:
javac -encoding UTF-8 YourJavaFile.java
若源文件是其他編碼(如GBK),需將UTF-8
替換為對應編碼(如-encoding GBK
)。
3. 運行時指定JVM默認編碼
通過-Dfile.encoding
參數設置JVM的默認字符編碼,確保程序運行時正確解析字符:
java -Dfile.encoding=UTF-8 YourMainClass
可將此參數添加到啟動腳本(如startup.sh
)中,避免每次運行都手動輸入。
4. 配置環境變量全局生效
通過設置JAVA_TOOL_OPTIONS
環境變量,讓所有Java程序默認使用指定編碼:
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"
將上述命令添加到~/.bashrc
或~/.bash_profile
文件中,執行source ~/.bashrc
使更改永久生效。
5. 檢查并轉換Java源文件編碼
確保Java源文件本身以正確編碼(如UTF-8)保存??墒褂靡韵鹿ぞ邫z查和轉換:
:set fileencoding
查看當前編碼,若需轉換,執行:set fileencoding=utf-8
并保存;iconv -f GBK -t UTF-8 original.java -o converted.java
轉換后使用新文件編譯。6. 檢查IDE編碼設置(若使用IDE)
若通過IntelliJ IDEA、Eclipse等IDE開發,需確保IDE的編碼設置與系統一致:
File -> Settings -> Editor -> File Encodings
,將Global Encoding
、Project Encoding
設置為UTF-8,Default encoding for properties files
也需設置為UTF-8;Window -> Preferences -> General -> Workspace
,將Text file encoding
設置為UTF-8。