Thread Lib::XML, HTML::Entities, utf8, Perl5.6 vs Perl5.8
(11 answers)
Opened by esskar at 2005-04-07 08:37
[quote=esskar,07.04.2005, 17:00][quote=ptk,07.04.2005, 12:12]Wozu benutzt du encodeToUTF8? Der String ist doch schon utf8![/quote]
echt? steht das wo? hab ich das jetzt überlesen?[/quote] Mach einfach Devel::Peek::Dump($variable), dann siehst du, wie ein String intern kodiert ist. Dort erkennst du auch leicht, ob ein String faelschlicherweise doppelt in utf-8 kodiert ist. Zu der anderen Frage: "use utf8" braucht man bei perl5.8.x nur, wenn man in seinen Strings und Regexps utf-8-Zeichen hinschreiben will und nicht die \x{....}-Notation verwenden will. Sonst normalerweise *nicht*, insbesondere braucht man sich nicht darum zu kuemmern, ob die Daten utf-8 sind oder nicht. Bei 5.6.x braucht man "use utf8" etwas oefter, aber Unicode-Support ist ja bei 5.6.x buggy. In 5.005 und frueher gab es keinerlei Unicode-Support. Ich habe ein bisschen rumexperimentiert und bekomme unter 5.6.2 das richtige Ergebnis nur, wenn ich die Regexp aus encode_entities selber ausfuehre und davor "use utf8" gesagt habe. Vielleicht waere es das Gescheiteste, wenn man HTML::Parser fuer 5.6.x patchen wuerde. Am Gescheitesten ist es aber, ein Upgrade auf 5.8.x machen, denn, wie gesagt, utf-8 ist auf aelteren Perl-Version seeehr buggy. |