úterý 24. srpna 2004

Tomcat a kódování externích souborů

Včera jsem narazil na problém s kódováním externích souborů (javascript). JavaScript měl kódování utf-8 stejně tak i stránka jejíž byl součástí. Bohužel webový server Tomcat standardně servíruje externí součásti stránky s kódováním ISO-8859-1.

Naštěstí se mi podařilo nalézt celkem elegantní řešení v podobě konfigurace serveru. Konfigurace servletu dovoluje definovat mapování mime typů, pak stačilo najít v souboru %TOMCAT_HOME%/conf tradiční soubor web.xml a najít řádku

 <mime-mapping>
        <extension>js</extension> 
        <mime-type>text/javascript</mime-type>
 </mime-mapping>

a přidat informaci o kódování, která je webovým serverem zasílána v HTTP hlavičce odpovědi.

 <mime-mapping>
        <extension>js</extension> 
        <mime-type>text/javascript; charset="utf-8"</mime-type>
 </mime-mapping>

Na místě je ještě poděkování nástroji IEWatch, který nám (moje maličkost a Nkd) umožnil velice konfortně sledovat jednotlivé hlavičky.