代码

  • 引入
import java.net.URLEncoder;
import java.net.URLDecoder;
  • 编码
URLEncoder.encode( URL, "UTF-8" )
  • 解码
URLDecoder.decode( URL, "UTF-8" )

(小提示: cookie中存放中文也需要使用上面的方法进行编码和解码)

原理

 我们都知道Http协议中参数的传输是”key=value”这种键值对形式的,如果要传多个参数就需要用“&”符号对键值对进行分割,如果参数中也有分割符号“&”,那解析参数就会产生歧义

另外就是,网络传输过程中是遵循网络标准RFC协议的,网络协议不支持直接传输中文和特殊字符的,容易产生乱码问题,必须进行编码传输

疑似相关问题

  • 编码解码一一对应,有编码就有解码
  • 服务端参数解析错误,有可能是前端传参有特殊字符,没有编码,需要沟通好
  • 前面接收参数数据乱码,有可能是后端没有进行编码造成,(乱码问题也有可能和浏览器编码,tomcat编码和服务器编码有关,这里不细说)
  • 中文传输过程:浏览器中的中文字符(编码)----->服务器(解码)

                             服务器的中文字符(编码)----->浏览器(解码)显示

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐