jsp-httpclient中url中带中文怎么解决

使用httpclient用getmethod发送http请求的时候url中带中文比如http://localhost/test.aspx?param=中文使用getmet... 使用httpclient用getmethod发送http请求的时候url中带中文比如
http://localhost/test.aspx?param=中文
使用getmethod就会出错,说是非法url
而接受页面不是我的 我也没有办法
有没有好的解决办法?
各位大哥大姐们帮我看看
感谢1楼的回答,但是我转换后怎么还是出错?
有用过httpclient的高手或者熟悉抓取网页的高手协助我一下,
在线等
baidu-hi
前面的编码问题我自己解决了,感谢jiji19jly和风骚的幼男了,
jiji19jly是第一个分就给他了,骚男没有意见吧
展开
 我来答
育知同创教育
2016-02-08 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
jsp-httpclient中url中带中文的解决办法: 
在Servlet中 添加 req.setCharacterEncoding("UTF-8");

  然后para=req.getParameter("title");取出参数。
  在转发的时候,设置参数GBK编码:para = URLEncoder.encode(para, "GBK");
  再使用HttpClient发送Get请求。这个时候就成功了。
  在Servlet中接收参数的时候,必须指定req.setCharacterEncoding("参数编码方式");这样取出来的参数才不会乱码,随后对参数的处理才能成功。
jiji19jly
推荐于2016-08-22 · TA获得超过148个赞
知道答主
回答量:87
采纳率:0%
帮助的人:121万
展开全部
把你的代码贴出来看看????
什么错都不说,叫人家怎么帮你?

你能说说转换后出什么错吗?

用native2ascii把中文转换成UTF-8编码,或者你用java转换,转换函数如下:
private static String convert(String str)
{
StringBuffer sb = new StringBuffer(1024);
sb.setLength(0);
for(int i=0; i<str.length(); i++)
{
char c = str.charAt(i);
if (c > 255)
{
sb.append("\\u");
int j = (c >>> 8);
String tmp = Integer.toHexString(j);
if (tmp.length() == 1)
{
sb.append("0");
}
sb.append(tmp);
j = (c & 0xFF);
tmp = Integer.toHexString(j);
if (tmp.length() == 1)
{
sb.append("0");
}
sb.append(tmp);
}
else
{
sb.append(c);
}
}
return(new String(sb));
}

经过转换后,你的URL:

http://localhost/test.aspx?param=\u4e2d\u6587
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
情意绵绵d胸毛
2008-08-18 · TA获得超过324个赞
知道小有建树答主
回答量:728
采纳率:100%
帮助的人:247万
展开全部
URLEncode.encode("中文", "utf-8");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式