Thread Encoding
(4 answers)
Opened by leo11 at 2009-05-30 18:45 2009-05-30T20:51:35 murphy Ich habe gerade mal mit dem Bsp. aus der Doku experimentiert: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #!/usr/bin/perl use strict; use warnings; use Encode; use Encode::Guess; my $data='pâté'; #my $data='pate'; my $enc = guess_encoding($data, qw/ascii utf8 utf16 iso-8859-1/); ref($enc) or die "Can't guess: $enc"; # trap error this way #my $utf8 = $enc->decode($data); # or my $utf8 = decode($enc->name, $data); print $utf8,"\n\n"; Das Bsp. bringt mir den Fehler: UTF-16:Unrecognised BOM 70e2 at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/Encode/Guess.pm line 135. Lass ich utf16 weg geht es. Wie kann ich mir eine Liste der unterstützen Zeichensätze ausgeben lassen? So etwas wie iconv --list. Die Funktionsweise des Beispiels ist mir auch nicht klar. Ich hätte erwartet, dass ich eine Meldung bekomme, welche Zeichenkodierung der String hat. So wie bei file -ik. Wie macht man dass? Aus der Doku werd ich nicht schlau. Mein Ziel ist ein Oneliner der mir die Kodierung eines Files angibt wie es file -ik tut. Optimal wäre, wenn er auch bei XML-Dateien geht. Last edited: 2009-05-31 09:43:00 +0200 (CEST) |