代码
- 引入
import java.net.URLEncoder;
import java.net.URLDecoder;
- 编码
URLEncoder.encode( URL, "UTF-8" )
- 解码
URLDecoder.decode( URL, "UTF-8" )
(小提示: cookie中存放中文也需要使用上面的方法进行编码和解码)
原理
我们都知道Http协议中参数的传输是”key=value”这种键值对形式的,如果要传多个参数就需要用“&”符号对键值对进行分割,如果参数中也有分割符号“&”,那解析参数就会产生歧义
另外就是,网络传输过程中是遵循网络标准RFC协议的,网络协议不支持直接传输中文和特殊字符的,容易产生乱码问题,必须进行编码传输
疑似相关问题
- 编码解码一一对应,有编码就有解码
- 服务端参数解析错误,有可能是前端传参有特殊字符,没有编码,需要沟通好
- 前面接收参数数据乱码,有可能是后端没有进行编码造成,(乱码问题也有可能和浏览器编码,tomcat编码和服务器编码有关,这里不细说)
-
中文传输过程:浏览器中的中文字符(编码)----->服务器(解码)
服务器的中文字符(编码)----->浏览器(解码)显示