利用url传值中文乱码问题

时间:2022-05-28 20:14:55

      在web应用中,很多时候都会利用url传递参数,有时候参数会是中文。

      这时候就要求对中文进行编码,经过本人的测试,发现利用java.net.deocder与java.net.encoder这两个java类可以对中文进行编码与解码,同时过程中不会乱码。

      例如:

            传值编码:

         需要在传中文的jsp页面中,在获取中文时进行如下编码:
         encodedStr = encodeComponentURI(encodeComponentURI("中文"));
          url="/pcis/aaa.jsp?str=" + encodedStr
          如果是java函数里面,则为
          encodedStr = URLEncoder.encode(rs.getString("中文"),"utf-8")

 

              取值解码:

           在目的地址页面对应的java函数中进行解码:
           String str = request.getParameter("str");
           str=java.net.URLDecoder.decode(str, "UTF-8");
          这样获取到的str才是正确的中文格式。