Probleme d'accent avec Perl Tk et MAC
Le
Frantz DORSEMAINE
Bonjour à tous. J'ai un problème urgent à résoudre.
Voila ma configuration :
Mac OSX 10.6.5
Perl 5.8.9
Voila un script test :
#! /usr/bin/perl -w
use Encode::Unicode;
use Tk;
use strict;
use warnings;
my $wd=MainWindow->new(-width => 400, -height => 200
);
my $bt=$wd->Button(-text=>"éééé èèèèèè", -command => sub { &Hello
})->place(-x=> 10, -y=> 30);
MainLoop;
sub Hello {
print "Hello"
}
Les accents sur le bouton s'affiche \x(8e) \x(8f)
Voila je cherche depuis 2 jour et rien à faire, pas de solution. J'ai vu
sur un forum que l'on parlai éventuellement d'un problème avec X11,
voici ma version X11 :XQuartz 2.3.6 (xorg-server 1.4.2-apple56)
J'espère que quelqu'un a une solution
A+ Frantz
Voila ma configuration :
Mac OSX 10.6.5
Perl 5.8.9
Voila un script test :
#! /usr/bin/perl -w
use Encode::Unicode;
use Tk;
use strict;
use warnings;
my $wd=MainWindow->new(-width => 400, -height => 200
);
my $bt=$wd->Button(-text=>"éééé èèèèèè", -command => sub { &Hello
})->place(-x=> 10, -y=> 30);
MainLoop;
sub Hello {
print "Hello"
}
Les accents sur le bouton s'affiche \x(8e) \x(8f)
Voila je cherche depuis 2 jour et rien à faire, pas de solution. J'ai vu
sur un forum que l'on parlai éventuellement d'un problème avec X11,
voici ma version X11 :XQuartz 2.3.6 (xorg-server 1.4.2-apple56)
J'espère que quelqu'un a une solution
A+ Frantz

Poser une question


C'est bien de le mettre, mais j'aurais pu le deviner tout seul,
cf. plus loin... Simplement, ça confirme.
Ok.
Le « é » est à la position 142 = x(8e) dans MacRoman, et le « è »
à la position 143 = x(8f) :
Je suppose donc que ton fichier source est en MacRoman, jeu de
caractères par défaut sur Mac, alors que tu déclares utiliser
Unicode (enfin... c'est ce que je comprends de la ligne qui dit
« use Encode::Unicode; » mais j'ai encore tout à apprendre en Perl).
Et j'imagine que les gourous de Perl ou de Macintosh sauront te dire
maintenant si tu dois changer le format du fichier ou bien une ligne de
code.
Cordialement,
--
Olivier Miakinen
Il manque use utf8 et Encode ne sert à rien pour ce bout de code sans
conversion.
--
Patrick Texier
vim:syntax=mail:ai:ts=4:et:twr
J'aimerais confirmation que use utf8 est la bonne méthode. La doc Perl
unicode est un bordel pas possible.
--
Patrick Texier
vim:syntax=mail:ai:ts=4:et:twr
utf8 comme te l'as mentionné Patrick.
Voici un exemple de code :
#! /usr/bin/perl
use strict;
use warnings;
use utf8;
use Tk;
my $wd = MainWindow->new(
-width => 400,
-height => 200
);
my $bt = $wd->Button(
-text => "éééé èèèèèè",
-command => sub { &Hello; }
)->place( -x => 10, -y => 30 );
MainLoop;
sub Hello {
print "Hellon";
}
Attention : Ton code doit également être en utf8. L'utilisation
d'Encode est tout à fait inutile.
Merci pour ta réponse mais il me semble avoir essayer comme ça et que
cela ne marchait pas. Je test ce soir sur mon MAC et je te donne le
résultat.
A+ Frantz