您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關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");
就不會出現中文問題了。
看完上述內容,你們對java中出現問號亂碼的原因和解決方法有進一步的了解嗎?如果還想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。