TomCat od verze tusim 5.5 ma jednu "ficurku", (kterou ja osobne povazuji za bug, ale vyvojari TomCatu ji povazuji za vyhodu), ze parametry predavane v URL (tedy metodou GET nebo pri POST explicitne v URL) jsou *vzdy* brany jako v kodovani iso-8859-1 a volani request.setCharacterEncoding() na ne nema vliv.
Pokud si tedy ten parametr predavate pres URL, je to touhle bugficurkou. Da se to opravit zmenou souboru conf/server.xml, kde musite pridat do prislusneho tagu <Connector> atribut useBodyEncodingForURI="true" Naopak pridani -Dfile.encoding=UTF-8 pri startu TomCatu by nemelo mit zadny vliv, protoze to nastavuje default kodovani pro tridy String a tridy v baliku java.io.*, ale to se pri parsovani HTTP requestu nepouziva. Makub Ivan Polák wrote: > Problem som odstranil, ale ako som predpokladal, "poskodenu" diakritiku > vracala uz funkcia request.getParameter(), teda: > > 1. pouzil som filter s nastavenim UTF-8 > 2. nastavil som freemarker: config.setDefaultEncoding("UTF"); > config.setOutputEncoding("UTF-8"); > 3. FTL sablony pre freemarker su v UTF-8 kodovani > 4. filter sa vykonava > 5. stranka v info o stranke ma kodovanie UTF-8 > 6. ci je tam meta-tag nie je podstatne > 7. pri spracovani request-u request.getCharacterEncoding() dava "UTF-8" > 8. stranka zobrazujuca vysledok ma tiez kodovanie UTF-8 > > Ale za zaklade googlovania som nasiel popis jednej chyby, ktora sa vyskytuje > v tomcat-e. > > Napr. > http://mail-archives.apache.org/mod_mbox/tomcat-users/200409.mbox/%3C5732322 > [EMAIL PROTECTED] > > kde musim retazec dostavat nasledovnym prikazom: > > new String(request.getParameter("user").getBytes("ISO-8859-1"),"UTF-8"); > > este dodam, ze sa jedna o konfiguraciu tomcat-u, do ktorej nemozem > zasahovat, takze pridat nieco ako -Dfile.encoding=UTF-8 pri spustrani > tomcat-u nemozem. > > Aplikacia funguje, ale riesenie sa mi nepozdava. -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Supercomputing Center Brno Martin Kuba Institute of Computer Science email: [EMAIL PROTECTED] Masaryk University http://www.ics.muni.cz/~makub/ Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775 --------------------------------------------------------------
smime.p7s
Description: S/MIME Cryptographic Signature