同事的本地開發環境是 Windows,默認文件編碼爲 GBK,服務器爲 Redhat Linux,默認文件編碼爲 ISO-8859-1,兩種字符編碼並非完全一致。如果要保證 Java 程序中的中文字符能夠被正確輸出,最好能夠自己精確地指定相關的參數。在編譯時,指定源文件所使用的字符編碼:
javac encoding gbk ChineseString.java
若是利用 ant 編譯,可以在 build.xml 中有 javac 的那一樣指定 encoding 屬性:
<javac srcdir="${src}" destdir="${build}" encoding="gbk" debug="off">
在運行時,修改 JVM 的環境變量,將 file.encoding 屬性指定爲 GBK:
java -Dfile.encoding=gbk ChineseString
按照以上步驟編輯運行,即可以避免 Java 程序在處理中文時常出現的亂碼問題。