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 一次 就能得到 "阳"
相关文章
关于使用MyBatis简化JDBC开发和解决SQL语句警告的问题
这篇文章主要介绍了关于使用MyBatis简化JDBC开发和解决SQL语句警告的问题,如果idea和数据库没有建立链接,idea不识别表的信息,就会出现SQL语句的警告,需要的朋友可以参考下2023-05-05
Spring Cloud Ribbon 中的 7 种负载均衡策略的实现方法
Ribbon 内置了 7 种负载均衡策略:轮询策略、权重策略、随机策略、最小连接数策略、重试策略、可用性敏感策略、区域性敏感策略,并且用户可以通过继承 RoundRibbonRule 来实现自定义负载均衡策略,对Spring Cloud Ribbon负载均衡策略相关知识感兴趣的朋友一起看看吧2022-03-03
Spring、Spring Boot、Spring Cloud 的区别与联系分析
Spring、SpringBoot和SpringCloud是Java开发中常用的框架,分别针对企业级应用开发、快速开发和分布式系统,本文介绍Spring、Spring Boot、Spring Cloud 的区别与联系,感兴趣的朋友一起看看吧2025-03-03
Spring Boot的Maven插件Spring Boot Maven plu
Spring Boot的Maven插件Spring Boot Maven plugin以Maven的方式提供Spring Boot支持,Spring Boot Maven plugin将Spring Boot应用打包为可执行的jar或war文件,然后以通常的方式运行Spring Boot应用,本文介绍Spring Boot的Maven插件Spring Boot Maven plugin,一起看看吧2024-01-01


最新评论