Re: EJB - magic quotes and encoding problem
pmz wrote:
As most of recent viewers know I'm playing around the EJB and I have
found two big problems.
First problem is quoting output of beans inside JSP, an example:
I load data in servlet:
getServletContext().setAttribute("cupUser",
cupUserFacade.find(userId));
<input type="text" name="userFullName" value="$
{cupUser.userFullName}" />
Those lines are from two separate artifacts, a Java source file (POJO)
and a JSP, right?
returns into:
<input type="text" name="userFullName" value="My Stupid "Very" Stup=
id
Value" />
That's a problem, where I'm not sure whether changing " into ' in
<input/> is a good solution.
How do I fix it?
What's wrong with using single quotes in the attribute?
Otherwise I think you just have to escape the quotes. I'm sure
there's also some other solution I haven't learned yet.
Second problem is encoding. Each page is attached with UTF-8 encoding
tags, database encoding is utf8_default, JSP pages/servlets printout
data perfectly, but when I update data in database (via EJB):
Log says:
FINE: UPDATE cup_user SET User_Contact = ?, User_FullName = ? WHERE
(ID = ?)
bind => [????????=C4???=C4?????=C4?????????=C4?, Bartek=
, 5]
FINER: TX afterCompletion callback, status=COMMITTED
(I don't think that the perfect way to store data ;)
And output obviously is damaged with shitchars.
"obviously"?
Where shall I look for encoding configuration? web.xml?
persistance.xml [sic]? Resource configuration?
100% sure that database (client & server) are configured ok (with
UTF-8).
Are you sure that display of the log isn't just an artifact of how
you're displaying it? If you look at the log with, say, a hex dump,
do the hex characters match what the encoded values should look like?
--
Lew