java URL乱码的解决办法
平常我们都是encode 一次,然后直接接受参数
String para = request.getParameter(paramName); 这是因为容器自动能帮我们解码 (DECODE)
一般来说, encode 的时候,使用的 UTF-8(系统的 编码) 那么解码的时候也是使用 UTF-8的话, 那么不会出现传说中的乱码~
但是如果 在JSP 页面 使用的UTF-8,但是 容器 解码的时候 使用的 别的编码的话,则有可能出现乱码
这个时候.一般可以使用:
String param = new String(request.getParameter(paramName).getBytes("ISO-8859-1"),"UTF-8");
也能出来.
所有的手段都使了.还是搞不定怎么办?
怎么解决这种多服务器导致的 编码 问题:
假设 字符串: = "阳";
Encode 一次 %E9%98%B3
Encode 两次 %2525E9%252598%2525B3
在第二次的时候 ,容器自动解的这一次,不管是按 GBK 还是 UTF-8 还是 ISO-8859-1 都好,都能够正确的得到 %E9%98%B3
那么 只要自身在进行 Decode 一次 就能得到 "阳"
上一篇:详解Spring注解--@Autowired、@Resource和@Service
栏 目:JAVA代码
下一篇:java Jersey框架初体验
本文标题:java URL乱码的解决办法
本文地址:http://www.codeinn.net/misctech/15673.html
阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机