perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 22
Click for quality!




11.02.2012 / 18:10

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragTk::Error und utf-8
Seitenanfang
Hallo!

Ich schreibe momentan eine mittelgroße Anwendung mit (Tk)-GUI und komplett unter dem utf8-Pragma. Bisher hatte ich damit keine Probleme, Tk hat sämtliche Umlaute etc. korrekt angezeigt.

Da das Programm jedoch als allein lauffähige exe an den Empfänger geht, welche ich mit "perl2exe -gui" erstellen werde, hab ich die Tk::Error wie in der Doku erklärt überschrieben, um Fehlermeldungen in einer schnieken Dialogbox auszugeben. Und da kam dann das böse Erwachen. Irgendwie hat es die Fehlermeldung geschafft, zwischen dem 'die'-Befehl und der Ausgabe in einer "$mw->Dialog"-Box insgsamt 3 (in Worten: "drei") mal zusätzlich durch eine utf8-Kodierung zu laufen.

Ich konnte das zwar erstmal mit einem dreifachen [code lang=perl]utf8::decode($error)[/code] umgehen, dennoch würde mich interressieren, wie es überhaupt dazu kommen kann.

Beispielskript zum flotten ausprobieren:


#!/usr/bin/perl
use strict;
use utf8;
use Tk;
my $mw = new MainWindow;
$mw->Button(-text => 'click!', -command => sub { die "äöü\n" })->pack;
MainLoop;
sub Tk::Error {
my ($widget, $error) = @_;
$widget->Dialog(
-title => 'Fehler',
-text => $error,
-bitmap => 'error',
-default_button => 'ok',
-buttons => ['ok'],
-wraplength => '4i'
)->Show;
exit
}

Grüße, Skrilax

Datum: 23.06.2007-00:05

-






-
-