Petr Ferschmann wrote: > <param-name>javax.faces.request.charset</param-name> > <param-value>UTF-8</param-value> > </context-param> > > A ve formulářích používáme toto: > <h:form enctype="multipart/form-data" id="novinkaForm"> > > možná ještě zkuste doplnit: > accept-charset="utf-8" ... >> -Dfile.encoding=utf-8 jsem měl nastaveno již dříve, o URIEncoding jsem
Fascinuje mne, co vsechno lidi nedokazou navymyslet, a pritom jedine,
co je potreba, je pred ziskanim parametru zavolat
na objektu HttpServletRequest metodu setCharacterEncoding("utf-8").
Ze vsech tehle bizarnich rad ma smysl asi jen ta prvni,
protoze Faces by to volani setCharacterEncoding() mohly udelat.
Ale je lepsi si to udelat sam v Filtru mapovanem na vsechna URL.
V Tomcatu 5.5 se pri predavabi parametru pres GET
musi jeste zmenit jeho konfigurace, protoze jeho autori se kdysi
v pominuti mysli rozhodli, ze pres GET se znaky s diakritikou
predavat nesmeji. Az po tvrdem natlaku povolili, ze to
aspon bude konfigurovatelne. Takze v konfiguraci
konektoru v server.xml se musi pridat atribut
useBodyEncodingForURI="true".
Vsechny ostatni rady, zvlaste pak ta s file.encoding=utf-8,
jsou absurdni. enctype ve formu urcuje, ze se da posilat
prilozeny soubor. Nastavovat accept-charset na formu nema smysl,
protoze prohlizece pouzivaji kodovani stranky
s formularem. Nastaveni systemove property file.encoding
ma vliv na "default" kodovani ve tridach v baliku java.io
a v tride String, ale to nema v TomCatu vliv, protoze
ten se nesmi divat na default kodovani, ale na kodovani
requestu a response.
Toz tak. Zavolejte to request.setCharacterEncoding("utf-8")
A pri vystupu zajistete, ze je zadane kodovani
HttpServletResponse, coz se dela v JSP pomoci
<[EMAIL PROTECTED] contentType="text/html; charset=utf-8" %>
a v servletech pomoci
response.setContentType("text/html; charset=utf-8");
Makub
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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
