Thread [Wx][Windows] Encodingprobleme bei Inhalt aus Wx Fenstern (6 answers)
Opened by pope at 2012-04-18 11:15

pope
 2012-04-18 11:15
#157578 #157578
User since
2009-10-11
30 Artikel
BenutzerIn
[default_avatar]
Hallo Leute,

Ich bin gerade auf ein merkwürdiges Phänomen gestoßen.

Wenn ich den Inhalt aus einem Wx-Fenster hole und zum Beispiel im Dateitest Operator verwende, werden Umlaute nicht richtig erkannt.

Minimalbeispiel:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
use 5.12.0;
use warnings;
use Wx qw( wxID_OK );

my $dlg = Wx::FileDialog->new( undef );
exit unless $dlg->ShowModal == wxID_OK;

my $path = $dlg->GetPath;

say $path;
say -e $path ? 1 : 0;


wenn ich hier z.B. eine Datei wie 'tüst.txt' aufrufe, schlägt der Dateitest fehl. Die Ausgabe von $path ist aber korrekt.

Ich habe festgestellt, dass alles korrekt Funktioniert, wenn ich den Wert von Wx encodiere:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use 5.12.0;
use warnings;
use Wx qw( wxID_OK );
use Encode;


my $dlg = Wx::FileDialog->new( undef );
exit unless $dlg->ShowModal == wxID_OK;
my $path = $dlg->GetPath;

$path = Encode::encode( 'cp1252', $path );

say $path;
say -e $path ? 1 : 0;

Das an allen Stellen in meinen Code zu machen ist aber nun verdammt umständlich...

Kann das jemand nachvollziehen?
Vielleicht auch mal unter einem Linux?

Das Problem seh ich nicht nur hier. Ich bin jetzt etwas unsicher, ob ich den Werten aus Wx Fenstern auch an anderen Stellen nicht trauen kann.
Last edited: 2012-04-18 11:26:28 +0200 (CEST)

View full thread [Wx][Windows] Encodingprobleme bei Inhalt aus Wx Fenstern