java中获取到参数的时候,这时候默认使用的是iso8859-1进行解码的,那么就再使用URLEncode的encoe方法对其进行编码一次,编码格式使用iso8859-1,这样我们就获得最初使用utf-8编码之后的字符了,接着再使用URLDecoder的decode方法对其进行解码,解码的时候第一个参数为编码之后的字符,第二个参数指定为utf-8,和编码时一样的码表就行,这样就获得正确的参数了。如下代码:

    //获取使用iso8859-1解码之后的字符串
        String username = request.getParameter("username");
        //对使用iso8859-1解码后的字符串  使用iso8859-1进行编码  获得最初使用utf-8进行编码之后的字符串
        username = URLEncoder.encode(username, "iso8859-1");
        //对获得utf-8编码之后的字符串使用URLDecoder的decode方法解码  指定解码方式为utf-8
        System.out.println(URLDecoder.decode(username, "utf-8"))

 

posted on 2019-03-21 16:39  减肥的小老斧  阅读(1013)  评论(0编辑  收藏  举报