Tomcat默认码表
1. Tomcat默认码表iso-8859-1
2. Tomcat如果发现字符串不识别,就默认采用本地码表
GB2312和GBK(了解)
GB2312
1980年发布,标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时,GB2312收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。
GB 2312的出现,基本满足了汉字的计算机处理需要,它所收录的汉字已经覆盖中国大陆99.75%的使用频率。
对于人名、古汉语等方面出现的罕用字,GB2312不能处理,这导致了后来GBK及GB18030汉字字符集的出现。
GBK
1995年发布,是在GB2312-80标准基础上的内码扩展规范,共收录了21003个汉字,完全兼容GB2312-80标准。
string.getBytes(String charsetName)和new String(byte[] bytes, String charsetName)(重要)
1. byte[] bytes = string.getBytes(String charsetName)
将字符串按指定的编码转化为byte数组,默认采用本地码表
2. new String(byte[] bytes, String charsetName)
将byte数组按指定的编码转化为字符串
**注意:**出现乱码时不要修改文件,修改后无论怎么切换编码都是错的了
提交数据中含有中文的注意事项
客户端:
//提交的数据中含有中文时,将字符串qq按照编码UTF-8进行编码
URLEncoder.encode(qq, "UTF-8");
服务端:
String qq = request.getParameter("qq");//tomcat采用的编码是iso-8859-1
System.out.println("qq:"+new String(qq.getBytes("iso-8859-1"),"utf-8"));
本文版权归传智播客Android培训学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:传智播客Android培训学院
首发:http://www.itcast.cn/android/