W dobie nowoczesnych i szerokodostępnych aplikacji internetowych, korzystanie z kodowania UTF-8, pozwalającego na zapis dowolnego znaku Unicode, już w tej chwili jest raczej wymogiem. Co ciekawe, nadal zdarzają się technologie i narzędzia, który nie korzystają z nich domyślnie i potrzebują dodatkowej konfiguracji. Przykładem takiego narzędzia jest Apache Tomcat.

Korzystając z Javy EE, np. za pośrednicem servletów, podstawowym sposobem na ustawienie kodowania jest użycie metody setCharacterEncoding dla klas ServletRequest i ServletResponse. Wydawać by się mogło, że to powinno zaradzić wszelkim problemom z niestandardowymi znakami. Niestety, problem pojawia się wtedy, gdy jakiekolwiek dane pochodzą z adresu URL, czyli przede wszystkim parametry GET żądania. Rozwiązaniem na to jest odpowiednia konfiguracja serwera.

Konfiguracja dla serwera, zazwyczaj znajduje się w pliku conf/server.xml w katalogu głównym Apache Tomcat. Ustawienie odpowiedniego kodowania należy zmienić dla używanego elementu Connector (zazwyczaj wszystkich) korzystając z atrybutu URIEncoding.

<Connector
    port="8080"
    protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443"
    URIEncoding="UTF-8" />

Po zmianie konfiguracji, ponowne uruchomienie serwera pozwoli na korzystanie w pełni z kodowania UTF-8.