First, some up-front warnings: this question has nothing to do with gaming, and most importantly, I'm not directly involved with the project that's failing (it's a friend's who I'm helping out debug).
Anyway, here it goes:
We have an online application that is in character encoding hell. If we make a request to the server, with the
é character in a url query parameter, the browser encodes it as
%C3%A9. The query parameter, as presented by struts and tomcat, treats
%C3%A9 as
é, which seems to be the Latin1 encoding.
This makes no sense to me, and it continues to happen, even when we force tomcat to use UTF-8 uri encoding. To make matters worse, we get anomalous results when writing the query parameter out with a jsp.
For example, if the jsp did something like:
1 2
| Query parameter: ${query} Hardcoded: é |
and the result, viewing the page with Latin1 character encoding would be:
1 2
| Query parameter: é Hardcoded: é |
but when set to view as UTF-8, we get: (the value of query was still é, when it's stored as a String)
1 2
| Query parameter: é Hardcoded: ? |
where the ? represents the unknown character symbol.
My jsp skills are not particularly great and we're at an utter loss as to what's causing these problems. So I guess this is a hail mary request to see if anyone has any help.