Zmateny perl z kodovani

Honza Pazdziora adelton na fi.muni.cz
Středa Leden 19 11:57:00 MET 2005


On Wed, Jan 19, 2005 at 11:29:47AM +0100, Ondrej Koala Vacha wrote:
>  
> > DBD pro nektere databaze (Oracle, PostgreSQL) umi v pripade, ze
> > kodovani klienta databazoveho spojeni je UTF-8, vratit retezcova data
> > jiz decodovana do znaku, takze tam to pak funguje transparentne. Pokud
> > Vam databaze vraci ISO-8859-2 (a nejde ji presvedcit, aby vracela
> > UTF-8 (bez ohledu na to, ze data jsou ulozena v cemkoli)), je ten
> > rucni decode asi jedina cesta.
> 
> Peesvedcovat databazi jsem zatim nezkousel, protoze za uzke misto zatim 
> povazuji DBI (testuji na mysql, ma-li to vyznam pro popis chovani). Neni 
> mi moc jasne, jak DBI predhodi perlu znaky v iso-8859-2 a pri zapnutem use 
> encoding 'iso-8859-2' tak, ze si perl mysli, ze jsou v utf.

No praveze tohle nefunguje IMO nikde. Co na nekterych databazich
funguje je vec, kdy pokud se vi, ze klient sosa data v UTF-8 (tedy ze
klientska cast databaze vraci do DBD data v UTF-8), tak ten DBD je
navic oznaci jako znakove retezce (kodovane v UTF-8). Nebude IMO nikdy
fungovat to, ze by DBD::mysql provedl prevod z ISO-8859-2 do interni
znakove podoby (v UTF-8) sam.

Takze pokud dosahnete toho, ze MySQL knihovny budou vracet DBD::mysql
data v UTF-8, je pak mozno DBD::mysql rict, aby Vam je navic oznacil
jako znaky (misto aby to byla pouze posloupnost bytu, shodou okolnosti
bytu v UTF-8). Pokud to jeste neni v distribuci, tak Google nasel
napriklad

	http://lists.mysql.com/perl/3006

-- 
------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
 .project: Perl, mod_perl, DBI, Oracle, large Web systems, XML/XSL, ...
		Only self-confident people can be simple.


Další informace o konferenci Perl