关于JAVA中URL传递中文参数的问题

Posted eagle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于JAVA中URL传递中文参数的问题相关的知识,希望对你有一定的参考价值。

今天在调用一个接口时,需要传递一个中文参数,结果获取不到数据,原因就在于中文传参的编码问题。

问题来源:URL url= new URL("http://XXX?OrganName=司法厅");

现解决办法如下:

1、对要进行URL传递的中文字符进行编码:

String message = Java.NET.URLEncoder.encode("司法厅","utf-8");

2、在取URL传递中文的页面对字符进行解码:

String msg = request.getParameter("message");
String str=new String(msg.getBytes("ISO-8859-1"),"UTF-8");

--------------------------------------------------------------------------------------

注:为什么要对取出的字符集形式转换成UTF-8形式,是因为ISO-8859-1是Java中网络传输使用的标准字符集,request.getParameter("message");得到的还是ISO-8859-1字符集,所以要转换一下。

 


以上是关于关于JAVA中URL传递中文参数的问题的主要内容,如果未能解决你的问题,请参考以下文章

通过url传递参数+解决传递中文参数出现乱码问题

关于:url视图函数模板3者之间参数传递的理解

使用javascript在包含特殊字符的URL中传递参数[重复]

在 URL 参数中传递用户名和密码 (Dart & Flutter)

关于php的参数传递问题

烧瓶装饰器:无法从 URL 传递参数