Characters in the HTTP content part
Wherever possible, a POST method should be used when international characters are involved.
This is because:
- The web browser records the way it has encoded the content data in the MIME headers that precede the content itself,
- The web server uses this MIME header to apply the correct decoding to the character content,
- There are no (practical) limits to the amount of data which can sent in this way (URL lengths may be limited by the buffers in some web/proxy servers)
The HTTP Content-Type header is used to tell the web server's Servlet classes which encoding was used. By the time the characters are made available to the Servlet as a String it is in the Unicode encoding used by Java.
International characters in URLs
A typical URL looks like: