在基於Java的程式設計中,常常會碰到漢字的處裡及顯示的問題,例如一大堆亂碼或問號。
這是因為JAVA中預設的編碼方式是UNICODE
,而中國人通常使用的檔案和DB都是基於GB2312
或BIG5
等編碼,故會出現此問題。以下是關於此類問題的總結。
免費學習影片分享:java影片
1、在網頁中輸出中文
JAVA在網路傳輸中使用的編碼是"ISO-8859-1
",故在輸出時需要進行轉化,如:
String str="中文"; str=new String(str.getBytes("GB2312"),"8859_1");
但假如在編譯程式時,使用的編碼是「GB2312
”,且在中文平台上運行此程序,不會出現此問題,一定要注重。
2、從參數讀取中文
這正好與在網頁中輸出相反如:
str=new String(str.getBytes("8859_1"),"GB2312");
3、操作DB中的中文問題
一個較簡單的方法是:在「控制面扳」中,把「區域」設定為「英文(美國)」。假如還會出現亂碼,還可進行如下設定:
取中文時:
str=new String(str.getBytes("GB2312"));
向DB中輸入中文:
str=new String(str.getBytes("ISO-8859-1"));
4、在jsp中的中文解決
在「控制面扳」中,把「區域」設定為「英文(美國)」.
在JSP頁面加入:
假如還不正常顯示,則還要進行下面的轉換:
如:
name=new String(name.getBytes("ISO-8859-1"),"GBK");
就不會出現中文問題了。
更多相關文章教學請造訪:java入門教學
以上是關於java出現問號亂碼問題的總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!