[Vienna-pm] perl 5.6. und utf8

peter pilsl pilsl at goldfisch.at
Sat Apr 22 03:10:47 PDT 2006






Peter J. Holzer wrote:
> On 2006-04-21 15:06:34 +0200, peter pilsl wrote:
>> Thomas Klausner wrote:
>>> Eine gewisse Website (oe1.orf.at) rennt auf perl 5.6.irgendwas.
>>> Jetzt wollen sie einen utf8-codierten RSS-Stream einbinden (mit Umweg
>>> ueber die DB...).
>>>
>>> Allerdings laeuft weder Encode nocht utf8::decode auf perl 5.6
>>>
>>> Weiss jemand, wie ich in 5.6 einen utf8-string in iso-8859-foo umwandeln
>>> kann?
>> im umgang mit unicode hat sich bei perl 5.8 einiges verbessert.
> 
> Ja, durchaus. Unter 5.6 war das noch eher ein Krampf. Aber wenn es nur
> ums umwandeln geht und man nichts semantisch anspruchsvolles auf
> Unicode-Strings machen will, geht das auch.
> 
> Ich finde in mindestens einem alten Modul von mir (LUGA::Mitglieder,
> wenn vienna.pm mal groß genug ist, eine Mitgliederverwaltung zu
> brauchen, werde ich es generalisieren :-)) folgende Sequenz:
> 
>     use Unicode::String qw(utf8);
> 
>     my $u = utf8($r);           # convert to latin1 for now
>     $r = $u->latin1();
> 
> Hat glaube ich schon mit Perl 5.005 funktioniert.
>


hab nach deiner vorgabe jetzt mal nach latin1 gesucht und ein analoges 
konstrukt in zahlreichen sehr alten datenbank-scripts gefunden 
(definitiv auch unter pre 5.8 in verwendung)

use Unicode::String qw(utf8 latin1);
@{$ptr->{fields}->{$field}->{-values}}=
          map {latin1($_)->utf8} @{$ptr->{fields}->{$field}->{-values}};


Unicode::String	dürfte also die Antwort auf domms frage sein.



lgp


-- 
mag. peter pilsl
goldfisch.at
IT- & dataconsulting
tel: +43 650 3574035
tel: +43 1 8900602
fax: +43 1 8900602 15
pilsl at goldfisch.at


More information about the Vienna-pm mailing list