Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/01/2007, à 20: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 wink

Hors ligne

#2 Le 22/01/2007, à 23:05

JoelS

Re : perl ne prend pas les lettres accentuées dans la classe \w

estelle1980 a écrit :

Voilà, j'espère que quelqu'un peut m'aider wink

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