对URL编码的一点理解
在web开发中,乱码是非常常见的问题,我们只有理解了为什么会乱码,才能很好的解决乱码问题
1、为什么会乱码
因为在地址栏中不能出现中文,所以当我们发送中文的参数时,必须对其进行url编码,由于我们可以使用各种各样的规则对其编码,所以当服务器接收时,如果和服务器使用的规则不一样,那么就会出现乱码。例如在tomcat中,默认的解码是"is0-8859-1",由于"iso-8859-1"不支持中文,所以在进行url编码时,是不会是"iso-8859-1",所以此时会乱码。
根据以上的原因,我们可以想到使用如下两种方法解决乱码问题:
1、修改tomcat的默认解码方式,(server.xml中的uriencode 具体方式查网络)
2、在服务器接收到参数后,将其分解成byte数组,然后按照其编码的方式解码 如new String(parame.getbytes("iso-8859-1"),"utf-8");