On 02/06/07, Anthony Ettinger <[EMAIL PROTECTED]> wrote:
>
> <% $json %>
>
> where $json = q{var some_valu = 'foo';};
>
> that used to show as is, but in latest mason, more things are being escaped,
> ie "&#139;", etc.

I have noticed that too. From my understanding, Mason uses
HTML::Entities to do it's escaping. I noticed it was encoding more and
more characters, including the single quote ' you mentioned.

>From my (limited) perspective, it happened somewhere between v1.29 and
v1.35 of HTML::Entities ($HTML::Entities::VERSION). As an example, on
Debian Sarge I have v1.29, on Ubuntu Edgy I have v1.35. On v1.29 the '
is not encoded and on v1.35 is then encoded as &#39; as you mention.

I guess you could add this to your Apache Conf (all one line) so it
just escapes these chars "&<>

PerlSetVar  MasonEscapeFlags \
   "h =>\\&HTML::Mason::Escapes::basic_html_escape"

I'm not sure if this is wise though since I remember reading something
about that one day. Anyone care to mentioned if this is safe or
otherwise.

Cheers,
Andy

P.S. I did it on one of my servers since my Unicode characters were
also being encoded as three entities instead of just passing the one
char through. It seemed to work after that. I think something in my
pipeline didn't understand Unicode correctly, but unfortunately, I'm
not sure what.

-- 
contact: Andrew Chilton
website: http://kapiti.geek.nz/

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Mason-users mailing list
Mason-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mason-users

Reply via email to