Servlet获取URL中文参数乱码问题

url带有中文参数时,servlet的处理方法

做网盘项目时,当路径带有中文参数时,servlet中获取的该参数时是乱码的

如下:

Servlet获取URL中文参数乱码问题_第1张图片

点击红箭头指向的链接,url的参数会变成

在这里插入图片描述

而 servlet代码中的该参数变成了

在这里插入图片描述

为了获取正确的参数,做了如下测试:

Servlet获取URL中文参数乱码问题_第2张图片

得到的结果如下:

Servlet获取URL中文参数乱码问题_第3张图片

发现第一个与乱码相同,于是推测乱码的原因:字符串被GBK格式解码,在以ISO-8859-1的格式解析成字符串,所以想得到正确的中文字符串,只需要把乱码转换成ISO-8859-1的字节数组,然后以gbk方式把字节数组解析成字符串即可,更改代码如下:

Servlet获取URL中文参数乱码问题_第4张图片
红色箭头处为添加的代码

最后得到了正确结果:
在这里插入图片描述

你可能感兴趣的:(java,servlet原理,javaWeb入门)