Problemy s kodovanim cestiny
Podlesak Kamil
Kamil.Podlesak na ips-ag.net
Středa Září 16 09:35:41 CEST 2009
Ve všech sevletech musí být vždy nastaveno správné kódování jak v requestu, tak v odpovědi.
javax.servlet.ServletRequest#setCharacterEncoding
javax.servlet.ServletResponse#setContentType + javax.servlet.ServletResponse#setCharacterEncoding
Toto nastavení pak musí být provedeno PŘEDTÍM, než se cokoliv začne konvertovat - tj. než se cokoliv zapíše nebo přečte (a to včetně parametrů).
Jinak je použita "systémová" znaková sada (tj. na linuxu/unixech podle nastavení LC_ALL nebo LANG, na windows podle nastavení "národní prostředí" v ovládacích panelech).
Pokud máte formulář kde se může vyskytnout něco jiného než ASCII, nikdy nepoužívejte GET.
To by byl asi tak to hlavní.
Kamil Podlešák
> -----Original Message-----
> From: konference-bounces na java.cz
> [mailto:konference-bounces na java.cz]On Behalf Of Petr Fejfar
> Sent: Wednesday, September 16, 2009 8:29 AM
> To: Java
> Subject: Problemy s kodovanim cestiny
>
>
> Ahoj,
>
> mohl by mi nekdo poradit, co musim kde nastavit, aby
> mi spravne fungovala cestina?
>
> 1. Mam ceska WXP, Wicket projekty, ktere maji vsechny soubory
> (.JAVA, .HTML, .XML) v UTF-8. Texty pro lokalizaci mam
> v .XML, ne v .properties, abych se vyhnul Latin-1.
>
> Kdyz to spoustim v JEE Eclipse at uz pres Jetty nebo
> pres TomCat, tak naprosto vse funguje spravne.
>
>
> 2. V parent POMu mam v properties nastaveno
>
> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
> a kdyz Mavenem vytvorim .war s strcim ho Tomcatu
> na stejnem stroji, cestina je v haji, ovsem ne cela:
> lokalizovane texty, ktere taham z .XML jsou spravne,
> ale spatne jsou staticke texty z .HTML souboru.
>
>
> 3. Kdyz .war strcim Tomcatu na Linuxu, tak tam je cestina
> skoro spravne, tj. staticke texty i lokalizovane texty
> jsou spravne, ale problemy jsou s kodovanim dat zadavanych
> do editu ve formulari (napr. znak pro stupen)
>
>
> 4. Kdyz v POMu zrusim to UTF-8, tak se u me na localhost
> nic nezmeni tj. TomCat mrsi cestinu stejne jako predtim,
> ale na Linuxu, kde to skoro fungovalo, to zacne mrsit
> obsahy comboboxu, ktere se plni hodnotami primo z .JAVA kodu.
>
>
> Diky, pf
>
>
Další informace o konferenci Konference