Re: LibXML::Text
- From: Slaven Rezic <slaven@xxxxxxxx>
- Date: 11 Nov 2005 00:12:45 +0100
Axel Strube-Zettler <axel@xxxxxxxxxxxxxxxxx> writes:
> Slaven Rezic wrote:
>
>
> > Den Zielrechner auf ein neues perl bringen. Das ist sehr
> > empfehlenswert, weil erst neue perls (5.8.x mit großem x) gut mit
> > utf-8 umgehen können; und bei der Arbeit mit XML kommt man immer
> > wieder an utf-8 vorbei.
> > Wenn es wirklich nicht geht, kann man ein alternatives Unicode-Modul
> > verwenden (siehe im CPAN nach Unicode::*, vielleicht geht auch etwas
> > mit iconv). Für das einfache Konvertieren zwischen iso-8859-1 und
> > utf-8 gibt es einen Funktion, die bestimmt auch schon mal hier
> > gepostet wurde. Encode läuft nur mit 5.8.x.
> > Übrigens: tatsächlich 5.0? Oder eher 5.00503 oder 5.6.x?
> >
>
> Exakt 5.006001 - der Server ist bei 1&1, da habe ich keinen Einfluß
> drauf. Perldiver zeigt mir sogar ein Modul namens 'utf8' an, aber ich
> kann dem Ding nichts entlocken. Jeder Versuch mit utf8::... führt zu
> einem Fehler.
utf8.pm macht keine Konvertierung.
> Unicode:: ist nicht installiert.
Möglicherweise sind das Pure-Perl-Module, dann kannst du sie also
benutzen.
>
> Ich hab zwar selber ein Modul (na ja, der Name ist etwas übertrieben),
> um die Kovertierung durchzuführen, aber das liest jedesmal die
> komplette Unicode-Database ein und schaut nur darin nach. Ziemlich
> ineffektiv;-)
> Das möchte ich nur einsetzen, wenn es um die Namen der Characters
> geht, ist hier aber überhaupt nicht der Fall.
>
> Hab mir heute einen Wolf gegoogelt - die Frage nach der Konvertierung
> 'ohne Module' wurde schon öfters gestellt. Es wurde immer auf Code von
> einer Holländerin names Elizabeth ?? verwiesen, und es schein kein
> Problem gewesen zu sein, den Code ins eigene Programm einzubauen. Aber
> der Link ist mausetot inzwischen. Mehr als 100 Zeilen können das kaum
> gewesen sein.
>
Wenn du tatsächlich nur iso-8859-1 nach utf-8 konvertieren willst,
reicht einfach:
sub latin2utf {
my $string = shift;
$string =~
s/([\x80-\xff])/
chr((((ord($1) & 0xc0) >> 6) | 0xc0)) .
chr(( (ord($1) & 0x3f) | 0x80))
/gex;
return $string;
}
(Irgendwann mal von bayer@xxxxxx (Ralf Bayer) gepostet).
Gruß,
Slaven
--
Slaven Rezic - slaven <at> rezic <dot> de
tktimex - time recording tool
http://sourceforge.net/projects/ptktools/
.
- Follow-Ups:
- Re: LibXML::Text
- From: Axel Strube-Zettler
- Re: LibXML::Text
- References:
- LibXML::Text
- From: Axel Strube-Zettler
- Re: LibXML::Text
- From: Slaven Rezic
- Re: LibXML::Text
- From: Axel Strube-Zettler
- LibXML::Text
- Prev by Date: Re: LibXML::Text
- Next by Date: Regular Expression vereinfachen
- Previous by thread: Re: LibXML::Text
- Next by thread: Re: LibXML::Text
- Index(es):
Relevant Pages
|