當javac 編譯 .java當時會使用OS預設的locale編碼,在台灣預設Big5也就是MS950,
但你如果把這檔案執行在非Big5如utf-8則會出現亂碼,
即使你把.java編碼一開始存成utf-8也無法改變這狀況,甚至javac會出現以下錯誤:
unmappable character for encoding MS950
想解決這問題,請以下列步驟實行:
/*1.存檔字元集一開始就改utf-8,再打中文字,不然會亂碼
2.存檔檔名為"TestChUTF8.java"
3.javac 編譯請加上編譯參數 "-encoding UTF-8" 完整指令如下:
javac -encoding UTF-8 TestChUTF8.java
4.執行時請加上執行參數 "-Dfile.encoding=UTF-8" 完整指令如下:
java -Dfile.encoding=UTF-8 TestChUTF8
實驗結果:執行參數 "-Dfile.encoding=UTF-8" 可以不加,也可正常顯示
*/
public class TestChUTF8{
public static void main(String[] args){
System.out.println("哈哈中文^_^");
}
}