Java中UTF-8轉(zhuǎn)GBK之所以不會(huì)出現(xiàn)中文亂碼,是因?yàn)閁TF-8編碼為兼容性最大的字符集編碼,它本身就支持中文字符。
創(chuàng)新互聯(lián)"三網(wǎng)合一"的企業(yè)建站思路。企業(yè)可建設(shè)擁有電腦版、微信版、手機(jī)版的企業(yè)網(wǎng)站。實(shí)現(xiàn)跨屏營(yíng)銷,產(chǎn)品發(fā)布一步更新,電腦網(wǎng)絡(luò)+移動(dòng)網(wǎng)絡(luò)一網(wǎng)打盡,滿足企業(yè)的營(yíng)銷需求!創(chuàng)新互聯(lián)具備承接各種類型的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)項(xiàng)目的能力。經(jīng)過(guò)10年的努力的開拓,為不同行業(yè)的企事業(yè)單位提供了優(yōu)質(zhì)的服務(wù),并獲得了客戶的一致好評(píng)。
Java代碼轉(zhuǎn)碼范例:
String s = new String(ss.getBytes(),"GBK");
當(dāng)你的內(nèi)容本來(lái)就是正常的中文字符時(shí),通過(guò)上面的語(yǔ)句轉(zhuǎn)為GBK編碼是不會(huì)有任何問題的,但如果你在轉(zhuǎn)碼之前的字符不是正確的中文字符,或者不是支持中文字符的字符集,那可能就會(huì)出現(xiàn)亂碼問題。
UTF-8(8-bit Unicode Transformation Format)是一種針對(duì)Unicode的可變長(zhǎng)度字符編碼,又稱萬(wàn)國(guó)碼。由Ken Thompson于1992年創(chuàng)建?,F(xiàn)在已經(jīng)標(biāo)準(zhǔn)化為RFC 3629。UTF-8用1到6個(gè)字節(jié)編碼UNICODE字符。用在網(wǎng)頁(yè)上可以同一頁(yè)面顯示中文簡(jiǎn)體繁體及其它語(yǔ)言(如英文,日文,韓文)。
在Java開發(fā)中,特別是web開發(fā),亂碼是一種很常見而且很頭疼的問題,這常常是由于頁(yè)面端、服務(wù)端、數(shù)據(jù)庫(kù)等幾處所使用的字符不一致所致,故開發(fā)中,保持編碼一致, 往往能減少由于亂碼而帶來(lái)的時(shí)間浪費(fèi),是一件非常重要的事情。
可能是cmd 字符編碼的原因吧, 試試 在cmd中輸入 CHCP 65001
注:CHCP是一個(gè)計(jì)算機(jī)指令,能夠顯示或設(shè)置活動(dòng)代碼頁(yè)編號(hào)。
代碼頁(yè) 描述
65001 UTF-8代碼頁(yè)
950 繁體中文
936 簡(jiǎn)體中文默認(rèn)的GBK
437 MS-DOS 美國(guó)英語(yǔ)
呵呵..你的英文顯示的是什么啊??你用的是什么編譯器..你是在你的ide里面運(yùn)行的還是用dos去運(yùn)行的啊??\
嗯那是亂碼還是什么都不顯示呢??
能把你的那個(gè)類的代碼都貼上來(lái)嗎??
這都能亂碼了....汗..說(shuō)實(shí)話我還是第一次遇到..解決辦法.
你用
String str="你好";
System.out.println(new String(str.getBytes("gb2312")));
試試要是可以說(shuō)明你的環(huán)境編碼默認(rèn)的就不是中文..可能是別的什么的..你是用記事本寫的代碼還是用什么開發(fā)工具??
不行你就記事本去寫這個(gè)然后用dos去編譯并且運(yùn)行試試..
推薦用jdk 1.5.06
1.4的都是多少年前的版本了..雖然說(shuō)學(xué)習(xí)上邊是夠用了..你可以換個(gè)高版本的jdk試試..
嗯我大概知道了..可能是你的編譯器力有編碼問題..你用的是什么編譯器?用eclipse吧..初學(xué)絕對(duì)夠用..而且開源.綠色..直接解壓就能用了.下載的地方也很多的
您好,將別人的項(xiàng)目或JAVA文件導(dǎo)入到自己的Eclipse中時(shí),常常會(huì)出現(xiàn)JAVA文件的中文注釋變成亂碼的情況,主要原因就是別人的IDE編碼格式和自己的Eclipse編碼格式不同。
總結(jié)網(wǎng)上的建議和自己的體會(huì),可以參考以下幾種解決方式:
1
改變整個(gè)文件類型的編碼格式
1)
eclipse-window-preferences-General-Content
Types
2)
找到要修改的文件的類型(JAVA,JSP等等),在下面有個(gè)Default
encoding,在輸入框中輸入GBK
3)
點(diǎn)擊Update
4)
點(diǎn)擊OK
5)
重啟eclipse
2
改變整個(gè)Eclipse工作空間的編碼格式
1)
eclipse-window-preferences-General-workspaceTypes
2)
改變文本文件編碼格式為GBK
3
改變單個(gè)文件的編碼格式
,在包資源管理器右鍵點(diǎn)擊文件-屬性,改變文本文件編碼格式為GBK
4
如果以上幾種方式仍不能解決,可以下面這個(gè)不得已的辦法:
用Editplus打開要轉(zhuǎn)碼的文件,如果在Editplus中沒有亂碼,可直接將文件內(nèi)容拷貝到Eclipse中,如果Editplus也有亂碼,可先
在Editplus轉(zhuǎn)碼,Editplus-文檔-文件編碼方式-改變文件編碼方式-GBK,然后再用Eclipse打
開就可以了。
5,打開Eclipse,有時(shí)候會(huì)出現(xiàn)中文注釋亂碼,這是因?yàn)镋clipse中對(duì)Text
file
encoding的默認(rèn)編碼是GBK,因此,右鍵點(diǎn)擊你的“工程”,將Info中的“Text
file
encoding”中的Other改為UTF-8,即可!