Thread [Tk] File auswählen unicode (31 answers)
Opened by welle at 2013-11-01 20:07

GUIfreund
 2013-11-03 18:33
#171738 #171738
User since
2011-08-08
559 articles
BenutzerIn
[default_avatar]
2013-11-01T22:22:08 topeg
Das ist eine "CP-1252" (oder "ISO-8859-15") Kodierung wahrscheinlich ein "ü". Bist du dir sicher das der Ordnername UTF-8 kodiert ist?

Aber mach mal:
Code (perl): (dl )
1
2
use Encode;
$file=decode('CP-1252',$file);

Unter XP hatte ich das wie folgt gelöst:
Code (perl): (dl )
1
2
3
4
        $initfile = $mw->getOpenFile;
        return unless $initfile;
        $initfile = encode('iso-8859-1', $initfile);
        open( my $SUDO, '<', $initfile ) or die("can't open $initfile: $!");

Dabei benutzte ich Strawberry Perl 5.14.2 mit Tk 804.03. Derselbe Kode funktionierte auch mit ActivePerl, die genaue Version kann ich nicht mehr nennen. Im DOS-Fenster hatte ich cp1252 und Schriftart Lucida Console aktiv. Einige Details dazu stehen in msg #162716 und in der Antwort von FIFO.

In Win 7 bin ich noch nicht so recht heimisch. Die Strawberry-Version ist identisch (da auf USB-Stick), im DOS-Fenster habe ich bisher nur die Codepage und die Schriftart geändert. Zumindest doskey müsste ich noch aktivieren (ich bezweifle freilich, dass das Auswirkungen auf Perl haben kann).

Vor dem Umkodieren gibt Dumper \x{e4} für ä aus. Bisher habe ich encode/decode in folgenden Varianten probiert:
Code: (dl )
1
2
3
4
5
6
                  encode               decode
------ ------
CP-1252 => uv => uv
iso-8859-15 => uv => uv
iso-8859-1 => uv => uv
UTF-8 => \x{c3}\x{a4} => \x{fffd} (wide char in say)

Das Umkodieren bewirkt also gar nichts, außer bei UTF-8, wo in beiden Richtungen Quatsch herauskommt.

Da ich bisher kaum Erfahrungen mit Umkodieren habe (unter XP war ich mit meinem DOS-Fenster recht zufrieden), weiß ich jetzt nicht, was ich noch Sinnvolles probieren könnte. Hoffentlich kann mir jemand einen Tipp geben.
Gruß
GUIfreund

View full thread [Tk] File auswählen unicode