您的位置:首页 > 编程语言 > Java开发

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

2015-04-21 18:09 351 查看
每次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”)); //主要是这句需要加上编码

以上完全是个人项目中遇到的问题,如果解释不对的地方,欢迎指出!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  编码 java中文乱码