getparameter()自动解码 以及 get类型详解
当我们想要在URL上传递中文参数的时候,我们需要进行URLEncode.code("中文参数"),然后才能在URL上正确的进行传递参数(注意:因为当我们提交表单的时候,表单中的参数也是会自动调用URLEncode.code("中文参数")为我们编码,这样就会产生一个%xy,xy是16进制的数据),所以当我们要在url上传递参数login?userName="中文参数",这事就应该这样写:
?
?
当我们经过以上处理之后则可以在另一个响应页面获取数据,也就是req.getparameter("userName"),一般我们的做法是很自然的就是直接按照上面的方式去获取参数,然后在解码:
?
?
?
?通过以上步骤,就能正确的解码了,其实get的方式的乱码都是由上面产生的,了解了这个,也就了解了get方式产生乱码
的原因,也就能过顺利的解决get乱码问题。(记住get的方式与URL有关,而URL都要经过URLEncode和URLDecode)
?
其实对于get方式产生的乱码我们还可以通过更改服务的默认编码解码方式也就是在
?
"UTF-8"?/> ?
?
这样以来get传递方式都是以UTF-8编码方式去编码了!
?