HttpURLConnection乱码问题

直接讲Parameter参数放在url里面默认使用的是iso8859-1编码,而且connection.setRequestProperty设置的编码不针对url只设置输出流的data,所以此时乱码的解决方案:

1、webx端重新编码,String txt = new String(desc.toString().getBytes("iso8859-1"), "utf-8");

2、放在data中,输出流write出去,

outStream.write(data.getBytes());

outStream.flush();

上面代码会产生另外一个问题:

getBytes()默认使用文件编码

public static Charset defaultCharset() {
        if (defaultCharset == null) {
            synchronized (Charset.class) {
                String csn = AccessController.doPrivileged(
                    new GetPropertyAction("file.encoding"));
                Charset cs = lookup(csn);
                if (cs != null)
                    defaultCharset = cs;
                else
                    defaultCharset = forName("UTF-8");
            }
        }
        return defaultCharset;
    }

 所以eclipse和idea中结果不同,idea编码正常,因为idea默认就是UTF-8,eclipse乱码,eclipse是GBK,正确的方式是指定一下编码:

  outStream.write(data.getBytes("UTF-8"));

  outStream.flush();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值