Hi there Firstly, one part of the problem is that you do not URL encode your query parameters
This is not sufficient GetMethod get = new GetMethod("http://url/?text="+s); Please do the following instead: GetMethod get = new GetMethod("http://url/"); NameValuePair[] params = new NameValuePair[] { new NameValuePair("text", s) }; get.setQueryString(EncodingUtil.formUrlEncode(params, "gb2312")); Secondly, my guess it that the web server does not include the charset in the content-type header, which causes getResponseCharSet method to return the default charset (iso-8859-1) instead of expected gb2312 See the following document for more details: <http://jakarta.apache.org/commons/httpclient/charencodings.html> To verify this assumption you may activate and examine the wire log: <http://jakarta.apache.org/commons/httpclient/logging.html> To mend the problem you can simply retrieve the raw response body as array of bytes and perform the character translation manually with the desired charset String responseBody = null; byte[] rawdata = get.getResponseBody(); if (rawdata != null) { responseBody = HttpConstants.getContentString(rawdata, "gb2312"); } Hope this helps Oleg On Sun, 2004-03-14 at 14:46, yl d wrote: > hi, > i am using apache http client lib to get rusult from > my jsp webpage. > the jsp page get a request like:text=....,and return a > result and show it on web. > when i enter a request like > :http://localhost/a.jsp?text=...(here is some chinese > words) at IE6.0,at the jsp file,i get the request > string ,and i use > this.userRequest = new > String(this.userRequest.getBytes("8859_1"), "gb2312") > to get the chinese string.(gb2312 is a kind of chinese > encoding) > i succeed. > > but when i can use apache http client: > String s="...";(here is some chinese words) > HttpClient httpClient = new HttpClient(); > GetMethod get = new GetMethod("http://url/?text="+s); > int responseCode = httpClient.executeMethod(get); > String responseBody = get.getResponseBodyAsString(); > System.out.print( responseBody); > > i look in the jsp file,it can't print the right > chinese words.(though i have used new > String(this.userRequest.getBytes("8859_1"), "gb2312") > in the jsp file.) > > i don't know what is the reason and how to do. > i look up in the mail list archive,and i can't find > the answer(someone seems meet the same problem,he use > big5). > can anyone help me?thanks... > sorry for my poor english. > > > > __________________________________ > Do you Yahoo!? > Yahoo! Mail - More reliable, more storage, less spam > http://mail.yahoo.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]