日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java中文乱码的解决

發布時間:2025/7/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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");
就不會出現中文問題了。

------------------------------------------------------------------------------------------------------------------------

下面是我能過IO做的一個小程序,這是其中的一部

FileInputStream fis=new FileInputStream("file.txt");
?????????????? StringBuffer s=new StringBuffer();
?????????????? int c;
?????????????? while((c=fis.read())!=-1)?? //
?????????????? { s=s.append((char)c);
?????????????? }
?????????????? byte b[]=s.toString().getBytes("iso8859-1");
?????????????? for (int i=0;i<b.strlen;i++)
????????????????? System.write(char(b[i]));

?




總結

以上是生活随笔為你收集整理的java中文乱码的解决的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。