#1 Le 18/01/2007, à 19:11
- estelle1980
perl ne prend pas les lettres accentuées dans la classe \w
Bonjour,
lorsque j'utilise la classe \w dans un programme perl, celle-ci ne prend pas en compte les lettres accentuées. Quand je tape "locale" j'ai "fr_FR.UTF8" partout.
J'ai essayé les trois suivants :
"fr_FR@euro"
"fr_FR.iso88591"
"french"
Puis ça en tête du programme :
use locale;
use POSIX 'locale_h';
setlocale (LC_ALL, "fr_FR.iso88591");
Rien ne marche (ça ne prend pas les lettres accentuées) et j'ai ce message en plus :
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "fr_FR:fr:en_GB:en",
LC_ALL = "french",
LANG = "fr_FR.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Voilà, j'espère que quelqu'un peut m'aider
Hors ligne
#2 Le 22/01/2007, à 22:05
- JoelS
Re : perl ne prend pas les lettres accentuées dans la classe \w
Voilà, j'espère que quelqu'un peut m'aider
As tu essayé de voir, lire et appliquer ce qui est décrit la http://perl.enstimac.fr/DocFr/perllocale.html ?
En gros, c'est normal que la classe \w ne trouve que les caractères alphanumériques non accentués, car ton process perl retombe dans la locale C, la plus primitive possible. Lit le document ci-dessus (en français) et essayes de trouver ce qui est cassé.
Hors ligne