Laura, Good link information! ;)
Sung-Gu The more modern approach is to assume that the URI is always in UTF-8. If there are any non-ASCII characters in it after URL-decoding, then you run it through a UTF-8 converter (UTF-8 to UTF-16 in the case of Java). Here's a proposal on this: http://www.w3.org/International/O-URL-and-ident.html. If you follow the links from there you'll find other useful pages such as http://www.w3.org/International/questions/qa-forms-utf-8.html.