Détecter l'encodage des URI automatiquement dans Tomcat

J'ai une instance d'Apache Tomcat 6.x en cours d'exécution, et je veux qu'il interpréter le jeu de caractères de l'Url entrantes un peu plus intelligent que le comportement par défaut. En particulier, je veux réaliser le mappage suivant:

So%DFe => Soße
So%C3%9Fe => Soße
So%DF%C3%9F => (error)

La bevavior je veux peut être décrite comme "essayer de décoder le flux d'octets en UTF-8, et si ça ne fonctionne pas assumer ISO-8859-1".

Simplement à l'aide de la URIEncoding de configuration ne fonctionne pas dans ce cas. Alors, comment puis-je configurer Tomcat pour encoder la demande de la façon que je veux?

Je pourrais avoir à écrire un Filtre qui prend la demande (en particulier la chaîne de requête) et re-encode dans les paramètres. Serait-ce de façon naturelle?

OriginalL'auteur Roland Illig | 2010-04-17