为什么我们在接收URL传值的时候要getBytes(ISO-8859-1),UTF-8)

今天和同事进行项目测试的时候出现了一个问题.
一个简单的删除功能在他那里是正常使用的,而在我这里是无效的
走了debug后,发现在他那里传值是正常的,我这里是编码,后来我改了下代码在我这里也正常了

为什么我们在接收URL传值的时候要getBytes(ISO-8859-1),UTF-8)_第1张图片
这就让我很好奇,为什么他需要先转ISO,而我直接用UTF-8就可以那
抱着好奇的,我查了下资料,明白了问题
tomcat8以后默认编码格式是utf-8;7之前的都是iso8859-1,恰好同事是用的tomcat进行开发的
如果想改成默认为utf-8,也很简单 ,只需要很简单的几步.
找到如下代码:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

这段代码规定了Tomcat监听HTTP请求的端口号等信息。
可以在这里添加一个属性:URIEncoding,将该属性值设置为UTF-8,即可让Tomcat(默认ISO-8859-1编码)以UTF-8的编码处理get请求。
修改完成后:

<Connector port="8080"  protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />

这么基础的知识,现在才知道很是惭愧,拿出来分享一下

你可能感兴趣的:(Tomcat)