中文乱码 URLEncode之后,后台获取仍是乱码问题详解

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"))

 

上一篇:字符编码——Java


下一篇:又踩到Dubbo的坑,但是这次我笑不出来