When I run perl, I get the warning:
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
How do I fix it?
Your OS doesn’t know about
en_US.UTF-8.You didn’t mention a specific platform, but I can reproduce your problem:
% uname -a OSF1 hunter2 V5.1 2650 alpha % perl -e exit perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LC_ALL = (unset), LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C").My guess is you used ssh to connect to this older host from a newer desktop machine. It’s common for
/etc/ssh/sshd_configto containwhich allows clients to propagate the values of those environment variables into new sessions.
The warning gives you a hint about how to squelch it if you don’t require the full-up locale:
or with Bash:
For a permanent fix, choose one of
LANGenvironment variable in your shell’s initialization file.ssh hunter2, use the commandLANG=C ssh hunter2.SendEnv LANG LC_*line in the local/etc/ssh/ssh_configfile. (Thanks to this answer. See Bug 1285 for OpenSSH for more.)