UTF8, DBD::mysql a binarni data

Honza Pazdziora adelton na fi.muni.cz
Úterý Duben 19 09:06:47 MEST 2005


On Mon, Apr 18, 2005 at 08:56:49PM +0200, Ondrej Koala Vacha wrote:
> 
> Ja bych rekl, ze odpoved by byla: stejne si nepomuzes, protoze je to 
> zakopane v DBI/DBD a nic se s tim nenadela :( Neni to tak davno, co jsem 
> si tady stezoval, ze DBI cte data jinak nez to dela perl..

No, Vy jste si stezoval, ze DBI samo od sebe nepozna, v jake znakove
sade ty jednotlive drivery vraci hodnoty a proc Vam to neprevede do
UTF-8. A ja jsem psal, ze to neni trivialni bez podpory te databaze /
jejich klientskych knihoven. V tomto pripade se zda, ze
DBI / DBD::mysql se o neco takoveho dokonce snazi -- na tech datech
je nastaven priznak, ze jsou v UTF-8. Ze je ten priznak nastaven
spatne je jina vec (a predpokladam, ze to je / bude opraveno, zvlast
kdyz nekdo posle bug report ;-)

Jinak abych reagoval i na Vas pozadavek -- existuje patch

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

ktery dovoluje explicitne rict, jestli vracena data jsou UTF-8 a mit
je pak prislusne oznackovana. Takze pokud Vam databazove spojeni bude
z MySQL vracet data v UTF-8 (at uz proto, ze data v databazi budou
ulozena jako UTF-8, nebo proto, ze se tam bude delat (na urovni
databaze nejaka konverze znakovych sad)), dostanete to v Perlu jako
retezec znaku.

-- 
------------------------------------------------------------------------
 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