欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

发送HTTP请求中文参数乱码的问题,空格变加号(+)的问题

程序员文章站 2022-07-03 23:21:20
...

在请求头参数或者返回参数存在中文时,出现乱码的问题。
可以使用URLEncoder.encode()方法来解决,但是URLEncoder.encode()方法会将空格转换成+,解码后会发现+没有转换回来,这要特殊处理一下,将空格直接转换成%20,这里不用担心原参数中的+会被转成%20,URLEncoder.encode()方法会将原有的+转成%2B,将空格转成+

private String formate(String str) throws UnsupportedEncodingException {
        str = URLEncoder.encode(str, "UTF-8");//转码
        str = str.replace("+", "%20");//将转码后空格转成+符号转成%20
        return str;
    }