java 生成中文字符乱码,java汉字乱码的原因与解决方法
在基于Java的編程中,經(jīng)常會(huì)碰到漢字的處里及顯示的問題,比如一大堆亂碼或問號(hào)。
這是因?yàn)镴AVA中默認(rèn)的編碼方式是UNICODE,而中國(guó)人通常使用的文件和DB都是基于GB2312或者BIG5等編碼,故會(huì)出現(xiàn)此問題。
1、在網(wǎng)頁(yè)中輸出中文。
JAVA在網(wǎng)絡(luò)傳輸中使用的編碼是"ISO-8859-1",故在輸出時(shí)需要進(jìn)行轉(zhuǎn)化,如:String str="中文"; str=new String(str.getBytes("GB2312"),"8859_1");
但假如在編譯程序時(shí),使用的編碼是“GB2312”,且在中文平臺(tái)上運(yùn)行此程序,不會(huì)出現(xiàn)此問題,一定要注重。
2、從參數(shù)中讀取中文 這正好與在網(wǎng)頁(yè)中輸出相反如:str=new String(str.getBytes("8859_1"),"GB2312");
3、操作DB中的中文問題 一個(gè)較簡(jiǎn)單的方法是:在“控制面扳”中,把“區(qū)域”設(shè)置為“英語(美國(guó))”。
假如還會(huì)出現(xiàn)亂碼,還可進(jìn)行如下設(shè)置:
取中文時(shí):str=new String(str.getBytes("GB2312"));
向DB中輸入中文:str=new String(str.getBytes("ISO-8859-1"));
4、在jsp中的中文解決:
在“控制面扳”中,把“區(qū)域”設(shè)置為“英語(美國(guó))”.
在JSP頁(yè)面中加入: 假如還不行正常顯示,
則還要進(jìn)行下面的轉(zhuǎn)換: 如:name=new String(name.getBytes("ISO-8859-1"),"GBK");
就不會(huì)出現(xiàn)中文問題了。
總結(jié)
以上是生活随笔為你收集整理的java 生成中文字符乱码,java汉字乱码的原因与解决方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: json数据格式转换成csv数据格式,并
- 下一篇: 3、FFmpeg 过滤器