2013年4月13日 星期六

解決 java 寫檔的中文亂碼問題

http://blog.xuite.net/akuox/caffeine/32265749

[ java -Dfile.encoding=UTF8 ]
java 預設在處理文字檔案的寫入時,
會以 os 的預設編碼當作寫入的編碼規則,
這個問題常會發生在 windows 英文的作業系統要寫入中文的時候發生,
解法1:
如果是用 java 執行的 jar ,
java -Dfile.encoding=UTF8 -jar e:\bin\ExportToFile.jar
解法2:
加入環境變數 JAVA_OPTS,
  windows 環境:
JAVA_OPTS=-Dfile.encoding=UTF8;%JAVA_OPTS%
  linux 環境:
$> export JAVA_OPTS=-Dfile.encoding=UTF8:$JAVA_OPTS
解法3:
在程式裡面設定:
取得目前系統檔案編碼屬性 String defaultEncodingName = System.getProperty( "file.encoding" );
設定系統檔案編碼屬性 System.setProperty("file.encoding", "UTF-8");


我自己是設定 -Dfile.encoding=Big5

沒有留言:

張貼留言