Tomcat默認(rèn)碼表
1. Tomcat默認(rèn)碼表iso-8859-1
2. Tomcat如果發(fā)現(xiàn)字符串不識別,就默認(rèn)采用本地碼表
GB2312和GBK(了解)
GB2312
1980年發(fā)布,標(biāo)準(zhǔn)共收錄6763個漢字,其中一級漢字3755個,二級漢字3008個;同時,GB2312收錄了包括拉丁字母、希臘字母、日文平假名及片假名字母、俄語西里爾字母在內(nèi)的682個全角字符。
GB 2312的出現(xiàn),基本滿足了漢字的計算機處理需要,它所收錄的漢字已經(jīng)覆蓋中國大陸99.75%的使用頻率。
對于人名、古漢語等方面出現(xiàn)的罕用字,GB2312不能處理,這導(dǎo)致了后來GBK及GB18030漢字字符集的出現(xiàn)。
GBK
1995年發(fā)布,是在GB2312-80標(biāo)準(zhǔn)基礎(chǔ)上的內(nèi)碼擴展規(guī)范,共收錄了21003個漢字,完全兼容GB2312-80標(biāo)準(zhǔn)。
string.getBytes(String charsetName)和new String(byte[] bytes, String charsetName)(重要)
1. byte[] bytes = string.getBytes(String charsetName)
將字符串按指定的編碼轉(zhuǎn)化為byte數(shù)組,默認(rèn)采用本地碼表
2. new String(byte[] bytes, String charsetName)
將byte數(shù)組按指定的編碼轉(zhuǎn)化為字符串
**注意:**出現(xiàn)亂碼時不要修改文件,修改后無論怎么切換編碼都是錯的了
提交數(shù)據(jù)中含有中文的注意事項
客戶端:
//提交的數(shù)據(jù)中含有中文時,將字符串qq按照編碼UTF-8進行編碼
URLEncoder.encode(qq, "UTF-8");
服務(wù)端:
String qq = request.getParameter("qq");//tomcat采用的編碼是iso-8859-1
System.out.println("qq:"+new String(qq.getBytes("iso-8859-1"),"utf-8"));
本文版權(quán)歸傳智播客Android培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:傳智播客Android培訓(xùn)學(xué)院
首發(fā):http://xamj520.com/android/