[轉]java中文亂碼的解決

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

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

之前我也常常爲這個問題而苦惱,後來經查了些資料,終於解決了,jsp

我知道必定有不少朋友也會碰到這個問題,因此特就總結了一下,來拿出來讓你們一塊兒分享了。編碼

一、在網頁中輸出中文。get

JAVA在網絡傳輸中使用的編碼是"ISO-8859-1",故在輸出時須要進行轉化,如: String str="中文"; str=new String(str.getBytes("GB2312"),"8859_1"); 但假如在編譯程序時,使用的編碼是「GB2312」,且在中文平臺上運行此程序,不會出現此問題,必定要注重。編譯

二、從參數中讀取中文 這正好與在網頁中輸出相反如:亂碼

str=new String(str.getBytes("8859_1"),"GB2312");程序

三、操做DB中的中文問題 一個較簡單的方法是:在「控制面扳」中,把「區域」設置爲「英語(美國)」。方法

假如還會出現亂碼,還可進行以下設置:總結

取中文時:str=new String(str.getBytes("GB2312"));

向DB中輸入中文:str=new String(str.getBytes("ISO-8859-1"));

四、在jsp中的中文解決:

在「控制面扳」中,把「區域」設置爲「英語(美國)」.

在JSP頁面中加入: 假如還不行正常顯示,

則還要進行下面的轉換: 如:name=new String(name.getBytes("ISO-8859-1"),"GBK");

就不會出現中文問題了。

相關文章
相關標籤/搜索