Portál AbcLinuxu, 26. dubna 2024 07:32

Nemam rad Perl

12.7.2006 17:45 | Linux

Cetli jste na webu mod_perlu reklamni kydy, ze vam budou slapat skripty stejne jako kdyz je poustite pres cgi handler? Tak to jste zbytecne ztraceli cas.
Situace: apache 1.3 s mod_perl a DBI plus DBD::Oracle. Jednoduchy testovaci skriptik, ktery selekti polozku s nemeckymi znaky. NLS_LANG nastaveny na AMERICAN_AMERICA.AL32UTF8. Hezky na zacatku skriptu use utf8;
Vysledek: perl test.pl vrati spravny retezec. test.pl prohnany v apachi pres cgi handler vrati spravny retezec. test.pl prohnany pres mod_perl vrati paznaky.
Reseni: pokud chcete pouzivat mod_perl, musite pred vypsanim retezce z databaze predaneho DBI prohnat utf8::decode
Vedlejsi ucinky: skript vam prestane fungovat z konzole a v cgi handleru.
Zaver: Nemam rad Perl

       

Hodnocení: 44 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

12.7.2006 19:49 Lukáš Rýdlo | skóre: 18 | blog: Silný kafe | Brno
Rozbalit Rozbalit vše Re: Nemam rad Perl
Odpovědět | Sbalit | Link | Blokovat | Admin
Takové ukvapené soudy ;-) Přece bys nezavrhl tak úžasný jazyk jen kvůli bugu v mod_perl. Navíc si IMHO můžeš stáhnout zdrojáky a opravit to... :-D
θηριον ειμι
12.7.2006 19:54 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Nemam rad Perl
Odpovědět | Sbalit | Link | Blokovat | Admin
Nebo spíš mod_perl, ne? Hlásil jsi to vývojářům?
When your hammer is C++, everything begins to look like a thumb.
12.7.2006 20:34 baltazar2
Rozbalit Rozbalit vše Re: Nemam rad Perl
Odpovědět | Sbalit | Link | Blokovat | Admin
A jste si jist, ze mate ten skript spravne? To, ze Vam funguje v konzoli nemusi jeste nic znamenat. Napr. pisete, ze pouzivate pragmu use utf8;. Ta ale nema v perlu 5.8 zadny vliv na vstupne/vystupni operace! Mela by smysl pouze, kdyby vas Perlovy zdrojak obsahoval ne-ASCII znaky v UTF-8. Spis se podivejte, jestli by nepomohlo binmode STDOUT,':utf8'; (pripadne takove kodovani, ktere ocekava apache). Prectete si tez perldoc open.
13.7.2006 00:27 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Nemam rad Perl
Pssst, πραγμα je v řečtině rodu středního... ;-)
13.7.2006 17:38 Lukáš Rýdlo | skóre: 18 | blog: Silný kafe | Brno
Rozbalit Rozbalit vše Re: Nemam rad Perl
Hmmm, discipulus bonusque doctus :-D
θηριον ειμι
13.7.2006 10:08 alkoholik | skóre: 40 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Nemam rad Perl
Binmode jsem zkousel, vyexportovat locales jsem zkousel a spoustu dalsich veci taky.
Proste jsem nad tim stravil cely den a zaver je, ze mod_perl neni kompatibilni s perlem volanym jako cgi skripty. Nasel jsem diskuze, kde se tvrdi, ze DBI proste vraci UTF-8 stringy, ale neoznacene jako UTF-8. Ale tezko rict, proc se to projevuje az v mod_perlu a ne i v cgi handleru.
Nicmene jako vzdy pocitam s tim, ze je oprava trivialni a ja budu zase za debila.
;)
13.7.2006 10:13 alkoholik | skóre: 40 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Nemam rad Perl
Male doplneni: skript funguje i pod apachem, ale jen jako cgi.
A ve skriptu zadny UTF-8 retezec neni. Taha se z databaze.
13.7.2006 10:10 podlesh | skóre: 38 | Freiburg im Breisgau
Rozbalit Rozbalit vše Re: Nemam rad Perl
Odpovědět | Sbalit | Link | Blokovat | Admin
Vzpomenul jsem si na výrok z jedné konference:
Perl, to ani není programovací jazyk. To jenom Bůh nesl plnou náruč operátorů a zakopl...
13.7.2006 15:53 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Nemam rad Perl
Odpovědět | Sbalit | Link | Blokovat | Admin
A není třeba rozdíl v tom, jaké Apache vkládá hlavičky k cgi a k mod_perl? Ono u webové aplikace je na cestě mezi zdrojovým kódem a zobrazením v prohlížeči tolik míst, kde se může kódování zmršit…

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.