[轉]java中文亂碼的解決


在基於Java的編程中,經常會碰到漢字的處里及顯示的問題,比如一大堆亂碼或問號。

這是因為JAVA中默認的編碼方式是UNICODE,而中國人通常使用的文件和DB都是基於GB2312或者BIG5等編碼,故會出現此問題。

以前我也經常為這個問題而苦惱,后來經查了些資料,終於解決了,

我知道一定有很多朋友也會碰到這個問題,所以特就總結了一下,來拿出來讓大家一起分享了。

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");

就不會出現中文問題了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM