I want to make am HTTP GET request from my J2ME application using HttpConnection class.
The problem is that I cannot send russian text in the query string.
Here is the example of how I’m sending the request
c = (HttpConnection)Connector.open("http://127.0.0.1:1418/zp.ashx?тест");
InputStream s = c.openInputStream();
The receiving asp.net script receives the query part of the url as %3f%3f%3f%3f
That is 4 identical codes. Definately that’s not what I’m sending
So how can I send non-latin text in an http query in J2ME?
Thank you in advance
Your code
is processed by a java.nio.CharsetDecoder for the ASCII character set, and this decoder replaces all unknown characters with its replacement.
To get the behavior you want, you have to encode the URL before sending it. For example, when your server expects the URLs to be UTF8-encoded:
Note that if you have multiple parameters, you have to encode both the parameter names and the parameter values individually, before putting them together with “=” and concatenating them with “&”. If you need to encode multiple parameters, this class may be helpful to you: