2009年7月15日 星期三

Java - String.getBytes()的中文編碼問題

因為放到server上一直出現亂碼,但又不是db和網頁的問題,找了一下是程式中關於getByte()的問題。

當然,網路上也有許多解決方法。
Ref : http://www.webjx.com/exam/java-2263.html ([說明]網頁教學網 -String.getBytes()的中文編碼問題 )

以下,為簡單的測試,用java檔跑的。
---
String a= "我是誰123";
try{
System.out.println(new String(a.getBytes("Big5"), "ISO-8859-1"));
System.out.println(a.getBytes("Big5"));
System.out.println(new String(a.getBytes(), "Big5"));
System.out.println(new String(a.getBytes("Big5"), "Big5"));
System.out.println(a);
}catch (Exception ex){
ex.printStackTrace();
}
---

輸出的結果:

§??O??123
[B@1fb8ee3
我是誰123
我是誰123
我是誰123
---
為了讓中文不論在哪個語系的網頁中讓中文字顯示正常,似乎只要用 System.out.println(new String(a.getBytes(), "Big5")); 即可。(不過沒放在別的語系試過)...XD

以上。

沒有留言:

張貼留言