参考文章:https://blog.csdn.net/howlaa/article/details/12834595
前几天在做一个微信界面传值时遇到url传递中文乱码;
示例:url=“url?name=”+name;//name=“废青”
在下一个页面接收时,接收到的那么就不是“废青”了;而是乱码字符串;
查了一下,发现是因为项目没有设置中文乱码过滤器。且在传递过程中遇到了解码格式不同的问题;传值时容器也会自动解码一次,把你传递过来的参数转一下码。
所以需要使用encodeURL和decodeURL解决;
url=“url?name=”+encodeURL(encodeURL(name));//name=“废青”
接收界面 var name =decodeURL(request.getParameter(“name”));
重点是需要两次转码,因为tomcat容器会解码一次 所以还需要多转码一次才能得到正确的结果;