关于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字符集,所以要转换一下。

时间: 2024-08-10 00:25:29

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

关于JAVA中URL传递中文参数,取值是乱码的解决办法

前几天看到有网友在问URLDecoder和URLEncoder方面的使用问题,突然想起,原来我刚遇到这两个类时,也觉得很神密,由此可以想想初学者的心情,于是便有了今天的这篇文章. 其实,这两个类的使用并不复杂,URLDecoder和URLEncoder它的作用主要是用于普通字符串和application/x-www-form-rulencodedMIME字符串之间的转换,一般的人会以为后一个字符串比较专业,以为有什么高深的知识,其实不然. 下面,我们在在"百度"中搜索"网络时空",会看到如下所示

jsp中URL传递中文参数的处理

在页面的url中使用encodeURI(encodeURI(中文)),对中文进行编码,并在服务器的java程序中使用URLDecoder.decode(中文, "UTF-8")进行解码即可; 如果url中需要传递+.#.?等特殊符号,可以使用encodeURIComponent(encodeURIComponent(中文)),服务器解码方法跟encodeURI的解码相同.

url 传递中文参数乱码问题的终极解决方法。

估计很多人在做web开发的时候,都会碰到过url传递中文参数,有时候会出现乱码的问题,但有些项目或者环境,又不会有问题.当遇到乱码的时候,上网找了很多解决方案,比如: 页面设置它的编码方式,改成utf-8 或者gb2312. encodeURI(url),也有人说要2个encodeURI,如:window.location.href = encodeURI('b.html?cId='+id+"&cName="+encodeURIComponent(name)); 然后后台Str

JS URL传递中文参数时出现乱码的处理

原文:JS URL传递中文参数时出现乱码的处理 在浏览器中显示的地址是这样的: 但是按F12调试的时候的地址却变化掉了: 这个肯定是是因为浏览器对url路径默认编码了.这个问题是在我们去取值的时候,得到的就是后面那一大串稀奇古怪的东西.得不到我们想要的值.怎么办呢?这里写出来的只是自己的解决方法,也许不能通用,跟大家分享下,有更好的方法,告我一声.      //得到url中的值 function request(paras){ var url = location.href; var para

URL传递中文参数,大坑一枚,Windows与Linux效果竟然不一致

下午,计划2个小时搞定,个人官网第6次升级,就可以干点轻松的事了,结果,下午多搞了2个小时,晚上又搞了2个小时,才搞定. 最后一个世界难题是,URL传递中文参数. 问题大致是这么出现的:我为"博客雷观" 这个栏目,增加了"全文搜索"功能,用lucene实现的.因此,需要传递中文参数.搜索框表单提交,传递中文,很简单就搞定了. 搜索之后的分页url,需要带上当前的"搜索词" ,比如"程序员",我在本地很轻松就搞定了.无非就是这样

java的url有中文参数导致乱码

话不多说,直接粘代码 发送方 UrlParaCode.jsp <%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <html> <head> <title>My JSP 'UrlParaCode.jsp' starting page</title> </head> <body> &l

密码中有特殊的字符IOS如何处理 IOS中URL包含中文参数的问题

由于url支持26个英文字母.数字和少数几个特殊字符,因此,对于url中包含非标准url的字符时,就需要对其进行编码.iOS中提供了函数stringByAddingPercentEscapesUsingEncoding对中文和一些特殊字符进行编码,但是stringByAddingPercentEscapesUsingEncoding的功能并不完善,对一些较为特殊的字符无效. NSString中如果包括中文字符的话转换为NSURL得到的值为nil,用stringByAddingPercentEsc

jsp中URL传递中文參数的处理

在页面的url中使用encodeURI(encodeURI(中文)).对中文进行编码.并在server的java程序中使用URLDecoder.decode(中文, "UTF-8")进行解码就可以; 假设url中须要传递+.#.?等特殊符号.能够使用encodeURIComponent(encodeURIComponent(中文)),server解码方法跟encodeURI的解码同样.

HTML的Get方法URL传递中文参数,解决乱码问题

本例中有使用JQuery. 资料参考:http://www.cnblogs.com/babycool/p/3169058.html 发送的HTML页面代码: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Index</title> 6 <script type="text/javascript"