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

来源:百度知道 编辑:UC知道 时间:2024/05/25 16:48:24
使用httpclient用getmethod发送http请求的时候url中带中文比如
http://localhost/test.aspx?param=中文
使用getmethod就会出错,说是非法url
而接受页面不是我的 我也没有办法
有没有好的解决办法?
各位大哥大姐们帮我看看
感谢1楼的回答,但是我转换后怎么还是出错?
有用过httpclient的高手或者熟悉抓取网页的高手协助我一下,
在线等
baidu-hi
前面的编码问题我自己解决了,感谢jiji19jly和风骚的幼男了,
jiji19jly是第一个分就给他了,骚男没有意见吧

jsp-httpclient中url中带中文的解决办法: 
在Servlet中 添加 req.setCharacterEncoding("UTF-8");

  然后para=req.getParameter("title");取出参数。
  在转发的时候,设置参数GBK编码:para = URLEncoder.encode(para, "GBK");
  再使用HttpClient发送Get请求。这个时候就成功了。
  在Servlet中接收参数的时候,必须指定req.setCharacterEncoding("参数编码方式");这样取出来的参数才不会乱码,随后对参数的处理才能成功。

把你的代码贴出来看看????
什么错都不说,叫人家怎么帮你?

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

用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.toHexSt