JAVA 需要打开的url含有中文时的编码问题

每次JAVA传参涉及到中文时,总要被虐,这次虽然最后的解决还是比较简单的,但为了纪念中间走的弯路还是决定记录一下~~~

1、从前台(jsp)到后台(java)时传递了一个中文参数:name
此时为防止乱码,需要编码成 utf-8(此处也可以编码成 GBK和gb2312 格式,前提是要和你前台设置的编码格式相同),方法如下:
name = new String(name.getBytes(“ISO8859-1”),”utf-8”);

2、需要打开的url链接为原有链接+name
虽然步骤1已经将name进行了utf-8编码,但是打开时数据就变成了 ????
此时,需要对name再次进行编码,方法如下:
url = url + java.net.URLEncoder.encode(name,”utf-8”);

3、打开url链接后获得的数据又是乱码。。。
啥也不说了,方法如下:
URL urlObject = new URL(url); //将String型数据变为url类型
URLConnection uc = urlObject.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream(),”utf-8”)); //主要是这句需要加上编码

以上完全是个人项目中遇到的问题,如果解释不对的地方,欢迎指出!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值