Hi zusammen,
ich habe ein Umlautproblem in einer Webapplikation welche auf Tomcat 5.5 laufen.
Auf meiner Lokalen Installation werden Umlaute korrekt aungezeigt und in die Datenbank gespeichert, auf der Serverinstallation werden sie nur als ? gespeichert.
Beide Webanwendungen verbinden sich auf die selbe Datenbank:
- Mysql, varchar-Spalten verwenden utf8.
- Verwendeter Connectionstring: jdbc:mysql://servername/foo_test?characterEncoding=utf-8&useUnicode=true&jdbcCompliantTruncation=false
Folgender http-Request kommt rein:
http://servername:8080/servlet/Import?Etwas%20wurde%20am%2025.08.2010%2010%3A16%3A50%20ge%E4ndert
Der Querystring wird im Servlet mit Hilfe von org.apache.commons.codec.net.URLCodec.URLCodec dekodiert:
Das Wort "geändert" wird im dekodierten String auf der lokalen Installation (Windows) korrektangezeigt und in die Datenbank übertragen. Bei der Linux-Installation heißt es "ge?ndert".
Kann mir jemand weiterhelfen?
Danke.
ich habe ein Umlautproblem in einer Webapplikation welche auf Tomcat 5.5 laufen.
Auf meiner Lokalen Installation werden Umlaute korrekt aungezeigt und in die Datenbank gespeichert, auf der Serverinstallation werden sie nur als ? gespeichert.
Beide Webanwendungen verbinden sich auf die selbe Datenbank:
- Mysql, varchar-Spalten verwenden utf8.
- Verwendeter Connectionstring: jdbc:mysql://servername/foo_test?characterEncoding=utf-8&useUnicode=true&jdbcCompliantTruncation=false
Folgender http-Request kommt rein:
http://servername:8080/servlet/Import?Etwas%20wurde%20am%2025.08.2010%2010%3A16%3A50%20ge%E4ndert
Der Querystring wird im Servlet mit Hilfe von org.apache.commons.codec.net.URLCodec.URLCodec dekodiert:
Code:
String unparsedParameters = request.getQueryString();
URLCodec codec = new URLCodec("ISO-8859-1");
result = codec.decode(unparsedParameters);
Das Wort "geändert" wird im dekodierten String auf der lokalen Installation (Windows) korrektangezeigt und in die Datenbank übertragen. Bei der Linux-Installation heißt es "ge?ndert".
Kann mir jemand weiterhelfen?
Danke.