java乱码问题总结
在基于Java的編程中,經常會碰到漢字的處里及顯示的問題,比如一大堆亂碼或問號。?
這是因為JAVA中默認的編碼方式是UNICODE,而中國人通常使用的文件和DB都是基于GB2312或者BIG5等編碼,故會出現此問題。以前我一般都是保證當前頁與目標頁保持一致的編碼就可以解決大部分問題. 但是又在為這個問題而苦惱,原因是目標頁無法設置編碼(例如使用了org.glassfish.jersey的REST webservice), 后來經查了大量資料,終于解決了,我知道一定有很多朋友也會碰到這個問題,所以特就總結了一下,來拿出來讓大家一起分享了。?
對于上述的ws問題, 必須要手工轉碼:
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"));
轉載于:https://www.cnblogs.com/plain-heart/p/5548175.html
總結
以上是生活随笔為你收集整理的java乱码问题总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle Comment 获取并修改
- 下一篇: transition过渡的趣玩