Perl débutant: lire des caractères chinois sur l'invit
Eno145
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhaite créer un script Perl pour apprendre les caractères chinois. Pour cela, il me faut évidemment savoir déjà imprimer les caractères correctement sur la console. J'ai déjà installé des modules comme Encode::Han Extra et aussi Encode et testé les codes déjà trouvés sur différents sites web. Malheureusement quand je print le résultat, j'ai soit un caractère illisible sur l'invit de commande soit un message d'erreur. Je travaille avec Strawberry Perl 5.32 et je suis sous Windows 10.Voici le dernier code que j'ai testé.
use strict;
use warnings;
use utf8;
use Encode qw (encode decode);
my $chinese = "你好";
my $content = encode ("utf-8",decode("gb2312", $chinese));
print "$content\n";
sur la console:
C:\Perl ex>perl chinois.pl
Wide character at chinois.pl line 7.
Merci beaucoup
Je souhaite créer un script Perl pour apprendre les caractères chinois. Pour cela, il me faut évidemment savoir déjà imprimer les caractères correctement sur la console. J'ai déjà installé des modules comme Encode::Han Extra et aussi Encode et testé les codes déjà trouvés sur différents sites web. Malheureusement quand je print le résultat, j'ai soit un caractère illisible sur l'invit de commande soit un message d'erreur. Je travaille avec Strawberry Perl 5.32 et je suis sous Windows 10.Voici le dernier code que j'ai testé.
use strict;
use warnings;
use utf8;
use Encode qw (encode decode);
my $chinese = "你好";
my $content = encode ("utf-8",decode("gb2312", $chinese));
print "$content\n";
sur la console:
C:\Perl ex>perl chinois.pl
Wide character at chinois.pl line 7.
Merci beaucoup
Configuration: Windows / Firefox 99.0
A voir également:
- Perl débutant: lire des caractères chinois sur l'invit
- Logiciel de programmation pour débutant - Guide
- Logiciel montage vidéo débutant - Guide
- Apprendre le coran pour débutant (+ pdf) - Télécharger - Histoire & Religion
- Platine dj debutant - Forum Enregistrement / Traitement audio
- Denon perl pro test - Accueil - Audio
J'ai configuré sur Atom mon fichier Perl en utf8 (comme d'habitude). En toute logique, je pensais que le caractère pourrait être lu, vu que je le tape directement avec le clavier chinois de windows. Mais, avec le code basique:
use strict;
use warnings;
use utf8;
my $chinese = "你好";
print "$chinese\n";
la réponse sur l'invit me donne:
C:\Perl ex>perl chinese2.pl
Wide character in print at chinese2.pl line 8.
õ¢áÕÑ¢
Même en configurant directement le script en chinois simplifié, cela me donne des expressions illisibles.
Pour afficher le contenu sur la console Windows, essaye ceci :
Si tu n'as pas le module Encode::HanExtra, installe le.
Ton terminal CDM est-il paramétré avec un code-page compatible avec cet affichage ?
https://docs.microsoft.com/en-us/windows/win32/intl/code-page-identifiers
https://docs.microsoft.com/fr-fr/windows-server/administration/windows-commands/chcp
essaye de lancer :
dans la console avant de lancer ton script (qui correspond à GB18030)
Tu peux essayer d'autres combinaisons de code page et d'encodage. Il y en a plusieurs pour le chinois. Il faut que les deux soient compatibles (ce que la console est prévue pour afficher et l'encodage des caractères que Perl envoie à la console que tu peux forcer avec encode).
Tu pourrais aussi utiliser la code-page 65001 pour utf-8 et juste tenter d'afficher directement ta variable déjà encodée en utf-8 que tu n'aurais pas à passer par encode à ce moment là.
936 gb2312 ANSI/OEM Simplified Chinese (PRC, Singapore); Chinese Simplified (GB2312).
Bonne journée.