perl-embperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hartmaier Alexander" <Alexander.Hartma...@t-systems.at>
Subject RE: UTF-8 problems with links
Date Mon, 16 Jan 2006 10:53:32 GMT
Hi Gerald!

This is the dump from $clientname which is 'GD Löw':

SV = PV(0x92f6c90) at 0xaa0d51c
  REFCNT = 1
  FLAGS = (POK,pPOK,UTF8)
  PV = 0xa747270 "GD L\303\266w"\0 [UTF8 "GD L\x{f6}w"]
  CUR = 7
  LEN = 8

Seems that DBI is setting the UTF8 flag right with Oracle.
So it *should* be right?!

The generated link is:
https://nac.mon.dsh.at/add-record.epl?table=raduser&subtable=radservice_pop&defval_fk_radaccesstype=5&defval_fk_division=140&defval_clientname=GD%20L%C3%B6w&defval_zip=&defval_city=Wien&defval_street=&defval_phone=&ignore=fk_radaccesstype

Is the link encoded ok? '%C3%B6' for the 'ö' (umlaut o).

-Alex


-----Original Message-----
From: Gerald Richter [mailto:richter@ecos.de] 
Sent: Thursday, January 12, 2006 9:53 PM
To: Hartmaier Alexander; embperl@perl.apache.org
Subject: RE: UTF-8 problems with links

Hi,

> 
> It seems that since the upgrade to embperl 2.1 a bug has been 
> introduced when generating links and using utf-8.
> I have for example this code in one of my embperl pages:
> 
> <a
> href="add-record.epl?table=raduser&amp;subtable=raduser_dialin
&amp;defval_fk_radaccesstype=1&amp;defval_fk_division=[+
> $fk_division +]&amp;defval_clientname=[+ $cli entname 
> +]&amp;defval_zip=[+ $zip +]&amp;defval_city=[+ $city 
> +]&amp;defval_street=[+ $street +]&amp;defval_phone=[+ $phone 
> +]&amp;defval_fk_radacct_dialin=[+ $fk_radacct_dialin +
> ]&amp;ignore=fk_radaccesstype">Add similar</a>
> 
> If a var inserted with [+ +] contains a german 'Umlaut' or a 
> 'sharp S' the link isn't ok (or maybe the handling of the 
> encoded cgi var...).
> 

Since 2.1 Embperl honours Perl's UTF-8 Flag (see
http://perl.apache.org/embperl/pod/doc/Embperl.-page-12-.htm)

So in case your variables has the UTF-8 Flag set and it isn't UTF-8
something might go wrong.

You can check if your variable has the UTF-8 set with the module
Devel::Peek.

You can turn the UTF-8 flag on and off with Encode::_utf8_on/off, but you
should know what your are doing to not create more confusion.

If this all seems to be correct, it would be great if you can create a small
example which reproduces the error

Gerald


 
** Virus checked by BB-5000 Mailfilter ** 



Mime
View raw message