java解决URL传参中文乱码

      最近刚学Java,遇到了很多很多莫名其妙的问题,其中最头疼的就是乱码。现就自己的经验,对于‍URL传参中文乱码问题,解决方案总结如下:
在传参前转码,接收参数后再转码回来。这种方式有两种:
第一种:
传参前:使用java.net.URLEncoder.encode("xxxx",“utf-8"),将中文转为16进制字符。
接收参数后:使用java.net.URLDncoder.decode("xxxx",“utf-8")将16进制字符转为中文。
这种方式需要注意的是,在使用encode转码后,会出现特殊字符,这时候,就需要将特殊字符替换为相应的16进制。因为特殊字符在url路径中做为参数传递时,也是乱码。

第二种:
传参前:encodeURI(“xxxx”)   。
接收参数后:使用java.net.URLDncoder.decode("xxxx",“utf-8")将16进制字符转为中文。
这种方式需要注意的是,在使用encodeURI转码后,会出现特殊字符,这时候,就需要将特殊字符也转码,所以使用两次encodeURI,即:
encodeURI(encodeURI(“xxxx”))。

这两种转码方式是很好用的,所以很建议大家使用。