Znovu děkuju za všechny podněty, postupně jsem vyzkoušel všechno možné
(nemám teď tolik času, abych mohl reagovat a zkoušet všechno hned). Ale
trochu jsem se v tom hrabal a jsem ještě zmatenější než předtím.
Martin Kuba napsal(a):
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").
Jojo, jenže tohle nestačí. O request totiž vůbec nejde. Postupným
ořezáváním problému jsem se dostal až k tomu, že JSF kurví češtinu u
všech odpovědí (mám pocit, že se to děje až od určité doby, ale jistý si
nejsem), nezáleží na požadavku.
Taky jsem se dozvěděl, že ačkoliv o sobě JSF knihovny tvrdí, že jsou
verze 1.1, tak se jedná o JSF verze 1.0 a asi nemám možnost s tím něco
udělat (hotový framework od dodavatele).
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 tohle právě nefunguje. Hlavičky jsou v pořádku - ten Content-Type se
opravdu nastaví, ale české znaky jsou stejně překódované do HTML entit.
Podle nějakých zmatených informací u Sunů jsem pochopil, že to
naznačuje, že <f:view> stejně výstup překóduje do ISO-8859-1. Jde mu v
tom nějak zabránit?
a v servletech pomoci
response.setContentType("text/html; charset=utf-8");
Nemám vůbec žádnou zkušenost s psaním servletů pro JSF, zkusím se na to
podívat.
A poslední pozorování, pokud se vykašlu na JSF a použiju JSTL (já vím,
že se to nemá), konkrétně obyčejný <c:out>, tak je čeština v pořádku. A
tím pádem už tomu fakt nerozumím, protože se ve střevech JSF děje něco,
o čem nemám ani ponětí.
Znovu prosím o jakoukoliv radu nebo postrčení, na filtry se podívám a
znovu se ozvu. Díky a hezký víkend
dond
--
David Ondřich <[EMAIL PROTECTED]>, ICQ# 165542353, +420608101363