OVH Cloud OVH Cloud

Variable LC_truc

2 réponses
Avatar
Luc Martineau
Bonjour,

Lorque j'exécutais un script perl,
j'avais les warnings suivants:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "fr"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").


De plus, les accents s'affichaient comme suit:

Créer une nouvelle période...


En cherchant sur le net, j'ai lu qu'un 'export LC_ALL=C'
Malheureusement, on n'explique pas le "pourquoi"


J'aimerais bien comprendre pourquoi ça règle mon problème.

Merci

2 réponses

Avatar
Olivier Exbrayat
A priori, les fichiers sources étaient encodés en Cp1252 alors que le
moteur perl attendait de l'UTF-8.

A+


"Luc Martineau" a écrit dans le message de
news:v0mSb.41984$
Bonjour,

Lorque j'exécutais un script perl,
j'avais les warnings suivants:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "fr"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").


De plus, les accents s'affichaient comme suit:

Créer une nouvelle période...


En cherchant sur le net, j'ai lu qu'un 'export LC_ALL=C'
Malheureusement, on n'explique pas le "pourquoi"


J'aimerais bien comprendre pourquoi ça règle mon problème.

Merci



Avatar
Ronan Le Hy
Luc Martineau writes:
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "fr"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

De plus, les accents s'affichaient comme suit:
Créer une nouvelle période...


Cote general (LC_*, LANG...), voir google 'locale tutorial' (premier lien).

(Pour le cote Perl: perldoc perllocale)

Mon terminal est configure pour afficher l'iso 8859-15.

% locale
LANG LC_CTYPE=""
LC_NUMERIC=""
LC_TIME=""
LC_COLLATE=""
LC_MONETARY=""
LC_MESSAGES=""
LC_PAPER=""
LC_NAME=""
LC_ADDRESS=""

% perl -le 'print "351"'
é

% perl -le 'print "*OK*" if "351" =~ /w/'

% perl -Mlocale -le 'print "*OK*" if "351" =~ /w/'

% LANG= perl -le 'print "*OK*" if "351" =~ /w/'

% LANG= perl -Mlocale -le 'print "*OK*" if "351" =~
/w/'
*OK*

% LANG=fr perl -Mlocale -le 'print "*OK*" if "351" =~ /w/'
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "",
LC_ALL = "",
LANG = "fr"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").


HTH

--
Ronan