JAVA笔记
一.关于tomcat服务器与servlet之间编码的转换
查了很久终于弄清楚机制了。。 这句话加上去以后,浏览器把输入的参数编码成utf-8的字节发送给了tomcat
tomcat对于post提交的数据默认的编码方式是ISO-8859-1,也就是它用ISO-8859-1解析了utf-8编码之后的字节。
String name=request.getParameter(“username”); 这里传递给name的就是被错误解码之后的乱码。
但是由于ISO-8859-1是单字节编码。 所以byte[] bytes=
name.getBytes(“ISO-8859-1”);进行重新编码可以得到没有被tomcat解析过的utf8字节串。
然后再用utf-8解码就能得到本来的数据了。
二.两种定义编码的方式其实一样的,只是更新了,书写简单了而已
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
这两者是一个意思。
区别在于 是html5之后才开始支持的写法。 为了保证一些老的不支持html5的浏览器可以正常的显示中文,可以采用旧式的第二种写法
三.待续…