encodeURI(encodeURI(name)) ;文件上传

时间:2024-01-05 19:54:08

window.location.href = xxxx?a=encodeURI(encodeURI(name)) ;// 编码
name是中文,页面部分需要编码两次
name = java.net.URLDecoder.decode(name, "UTF-8");// 解码

为什么要连续两次调用encodeURI(String)方法呢?是因为Java中的request.getParameter(String)方法会进行一次URI的解码过程,调用时内置的解码过程会导致乱码出现。而URI编码两次后,request.getParameter(String)函数得到的是原信息URI编码一次的内容。接着用java.net.URLDecoder.decode(String str,String codename)方法,将已经编码的URI 转换成原文。