Umlaute from JSP-page are misinterpreted
- by Karin
I'm getting Input from a JSP page, that can contain Umlaute. (e.g. Ä,Ö,Ü,ä,ö,ü,ß).
Whenever an Umlaut is entered in the Input field an incorrect value gets passed on.
e.g.
If an "ä" (UTF-8:U+00E4) gets entered in the input field, the String that is extracted from the argument is "ä" (UTF-8: U+00C3 and U+00A4)
It seems to me as if the UTF-8 hex encoding (which is c3 a4 for an "ä") gets used for the conversion.
How can I retrieved the correct value?
Here are snippets from the current implementation
The JSP-page passes the input value "pk" on to the processing logic:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
...
<input type="text" name="<%=pk.toString()%>" value="<%=value%>" size="70"/>
<button type="submit" title="Edit" value='Save' onclick="action.value='doSave';pk.value='<%=pk.toString()%>'"><img src="icons/run.png"/>Save</button>
The value gets retrieved from args and converted to a string:
UUID pk = UUID.fromString(args.get("pk")); //$NON-NLS-1$
String value = args.get(pk.toString());
Note: Umlaute that are saved in the Database get displayed correctly on the page.