当前位置: 代码迷 >> 综合 >> 为什么java.net.URLEncoder.encode方法要调用两次而不是一次呢?
  详细解决方案

为什么java.net.URLEncoder.encode方法要调用两次而不是一次呢?

热度:66   发布时间:2024-01-11 19:09:53.0

因为在jsp中对中文进行了编码的时候用的是UTF-8的编码方式,而在servlet中调用request.getParameter();方法的时候使用服务器指定的编码格式自动解码一次,所以前台编码一次后台解码一次而解码和编码的方式不同所以造成了乱码的出现,所以要2次

searchBean.setKeyword(URLEncoder.encode(URLEncoder.encode(searchBean.getKeyword(), "utf-8"), "utf-8"));

String keyword=URLDecoder.decode(getParam("keyword"),"utf-8");

  相关解决方案