歡迎您光臨本站 註冊首頁

Java進程在Unix平台上中文亂碼問題

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

  方法一:

  在Unix平台.列印出來的中文都是亂碼.用Log4j記錄的日誌中,中文也是?,這個問題很讓人心煩,當然以我的運氣,這種問題是一定會遇到的,現在記錄一下解決方法

  因為每一個應用都會啟動一個Java進程,啟動方法就是 java $OPTS com.xxx.xxx.xxx

  (java -Ddefault.client.encoding=GBK -Dfile.encoding=GBK -Duser.language=Zh -jar load-data.jar)

  其中變數$OPTS就是我們要設置的JVM的啟動參數.在這裡設置JVM的字符集.設置如下:

  -Ddefault.client.encoding=GBK -Dfile.encoding=GBK -Duser.language=Zh

  加上這個后,基本上亂碼問題就會搞定了.如果還是搞不定,我就沒有辦法了.

  log4j向文件中記錄日誌時的中文亂碼不能用上面的方法設置.設置方法為:

  打開log4j.properties文件,在裡面的文件Appender中設置輸出字符集就可以了.如下所示:

  log4j.appender.buss.encoding=GBK

  方法二:

  jdk15以後,只需在~/jre/lib/fonts/下建一個fallback目錄,把你想在java中使用的字體烤貝到這個目錄中即可

  以下方法在fc6下測試通過,假設用戶的jre路徑為 /usr/java/jdk1.6.0_03/jre/

  cd /usr/java/jdk1.6.0_03/jre/lib/fonts

  sudo mkdir fallback


[火星人 ] Java進程在Unix平台上中文亂碼問題已經有635次圍觀

http://coctec.com/docs/java/show-post-59814.html