Comment puis-je sortie de l'UTF-8 à partir de Perl?

Je suis en train d'écrire un script Perl à l'aide de la "utf8" pragma, et j'obtiens des résultats inattendus. Je suis sous Mac OS X 10.5 (Leopard), et je suis en train de monter avec TextMate. Tous mes paramètres de mon éditeur et de son système d'exploitation par défaut, l'écriture de fichiers au format utf-8.

Cependant, quand j'ai entrez le texte suivant dans un fichier texte, l'enregistrer en tant que ".pl", et de l'exécuter, j'ai l'amicale "losange avec un point d'interrogation à la place des caractères non-ASCII.

#!/usr/bin/env perl -w

use strict;
use utf8;

my $str = 'Çirçös';
print( "$str\n" );

Une idée de ce que je fais mal? Je m'attends à obtenir 'Çirçös" dans la sortie, mais j'obtiens '�ir��s " à la place.

  • C'est peut-être pas le programme .. je pense que votre shell oder votre éditeur qui fait la sortie
  • Toutes les réponses répondre correctement à votre question de la manière de la définir explicitement à l'UTF8. Je pense que vous devriez être ajuster les paramètres régionaux de votre terminal comme indiqué dans le stackoverflow.com/a/14405949/498634. Le terminal pourrait ne pas être mise en UTF8, et les données écrites sur la sortie standard en UTF8 sera codé de manière incorrecte!
InformationsquelleAutor | 2009-03-09