解決 Java 程序的亂碼問題

早上來上班,同事問在本機好好的 Java 程序,放到服務器上運行的時候,輸出的中文字符總是顯示亂碼。我大致看了一下,猜測應該是 .java 文件編碼和相關 Java 環境引起的問題。

同事的本地開發環境是 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 程序在處理中文時常出現的亂碼問題。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章