如何修复Perl中的区域设置警告
当我运行如何修复Perl中的区域设置警告,perl,locale,Perl,Locale,当我运行perl时,我得到警告: 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 ba
perl
时,我得到警告:
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").
perl:警告:设置区域设置失败。
perl:警告:请检查您的区域设置:
语言=(未设置),
LC_全部=(未设置),
LANG=“en_US.UTF-8”
您的系统支持并安装了。
perl:警告:返回到标准语言环境(“C”)。
如何修复它?这通常意味着您没有在Linux机器上正确设置区域设置 在Debian或Ubuntu上,这意味着您需要 $ sudo locale-gen $ sudo dpkg-reconfigure locales $sudo区域设置gen $sudo dpkg重新配置区域设置
另请参见。这通常意味着您没有在Linux机器上正确设置区域设置 在Debian或Ubuntu上,这意味着您需要 $ sudo locale-gen $ sudo dpkg-reconfigure locales $sudo区域设置gen $sudo dpkg重新配置区域设置
另请参见。您的操作系统不知道en_US.UTF-8 您没有提到具体的平台,但我可以重现您的问题: % 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"). 它允许客户端将这些环境变量的值传播到新会话中 如果不需要完整的区域设置,该警告将提示您如何抑制该警告: % env LANG=C perl -e exit % %env LANG=C perl-e exit % 或者使用Bash: $ LANG=C perl -e exit $ $LANG=C perl-e退出 $ 要获得永久修复,请选择以下选项之一:
LANG
环境变量LANG=csh-hunter2
而不是ssh-hunter2
/etc/ssh/ssh\u config
文件中注释掉SendEnv LANG LC.*
行,以阻止ssh发送环境变量。(有关更多信息,请参阅以获取OpenSSH。)您的操作系统不知道en_US.UTF-8的相关信息 您没有提到具体的平台,但我可以重现您的问题: % 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"). 它允许客户端将这些环境变量的值传播到新会话中 如果不需要完整的区域设置,该警告将提示您如何抑制该警告: % env LANG=C perl -e exit % %env LANG=C perl-e exit % 或者使用Bash: $ LANG=C perl -e exit $ $LANG=C perl-e退出 $ 要获得永久修复,请选择以下选项之一:
LANG
环境变量LANG=csh-hunter2
而不是ssh-hunter2
/etc/ssh/ssh\u config
文件中注释掉SendEnv LANG LC.*
行,以阻止ssh发送环境变量。(有关更多信息,请参阅以获取OpenSSH。)以下是如何在(Lion)或Cygwin(Windows 10)上解决此问题: 将以下行添加到主机上的bashrc或bash_配置文件中:
# Setting for the new UTF-8 terminal support in Lion
export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
如果正在使用(zsh),请编辑文件zshrc:
以下是如何在(Lion)或Cygwin(Windows 10)上解决此问题: 将以下行添加到主机上的bashrc或bash_配置文件中:
# Setting for the new UTF-8 terminal support in Lion
export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
如果正在使用(zsh),请编辑文件zshrc:
如果使用debootstrap创建rootfs,则需要生成区域设置。您可以通过运行以下命令来执行此操作:
# (optional) enable missing locales
sudo nano /etc/locale.gen
# then regenerate
sudo locale-gen
此技巧来自,如果您使用debootstrap创建rootfs,则需要生成区域设置。您可以通过运行以下命令来执行此操作:
# (optional) enable missing locales
sudo nano /etc/locale.gen
# then regenerate
sudo locale-gen
此提示来自,仅适用于macOS和MacOSX用户
我在使用时收到了同样的警告
要解决此警告,请取消选中启动时设置语言环境变量选项,然后重新启动终端。下面的屏幕截图表示我的终端设置
仅适用于Mac OS和Mac OS X用户
我在使用时收到了同样的警告
要解决此警告,请取消选中启动时设置语言环境变量选项,然后重新启动终端。下面的屏幕截图表示我的终端设置
将以下内容添加到/etc/environment
解决了我在Debian和Ubuntu上遇到的问题(当然,修改以匹配您想要使用的语言环境):
将以下内容添加到/etc/environment
解决了我在Debian和Ubuntu上遇到的问题(当然,修改以匹配您想要使用的语言环境):
以下是公认的答案:
LANG=csh-hunter2
LC_ALL=C ssh hunter2
客户端为我做了这件事。以下是公认的答案:
LANG=csh-hunter2
LC_ALL=C ssh hunter2
客户端为我做了这件事。使用:
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8
它对我有用。我不知道为什么-但LocaleGen没有结果
重要!这是暂时的解决办法。必须为每个会话运行它。使用:
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8
它对我有用。我不知道为什么-但LocaleGen没有结果
重要!这是暂时的解决办法。它必须为每个会话运行。您需要在/etc/default/locale
中适当配置语言环境,注销、登录,然后运行常规命令
root@host:~# echo -e 'LANG=en_US.UTF-8\nLC_ALL=en_US.UTF-8' > /etc/default/locale
root@host:~# exit
local-user@local:~$ ssh root@host
root@host:~# locale-gen en_US.UTF-8
root@host:~# dpkg-reconfigure locales
您需要在/etc/default/locale
、注销、登录中适当配置区域设置,然后运行常规命令
root@host:~# echo -e 'LANG=en_US.UTF-8\nLC_ALL=en_US.UTF-8' > /etc/default/locale
root@host:~# exit
local-user@local:~$ ssh root@host
root@host:~# locale-gen en_US.UTF-8
root@host:~# dpkg-reconfigure locales
取消注释要使用的区域设置(例如en_US.UTF-8 UTF-8
):
然后运行:
sudo /usr/sbin/locale-gen
资料来源:
取消注释要使用的区域设置(例如en_US.UTF-8 UTF-8
):
然后运行:
sudo /usr/sbin/locale-gen
资料来源:一如既往,魔鬼在于细节
在(Lion)上,为了修复一些错误,在我的~/.bash\u配置文件中,我设置了:
export LANG=en_EN.UTF-8
export LC_COLLATE=$LANG
export LC_CTYPE=$LANG
export LC_MESSAGES=$LANG
export LC_MONETARY=$LANG
export LC_NUMERIC=$LANG
export LC_TIME=$LANG
export LC_ALL=$LANG
在很长一段时间里,我在使用Perl时收到了这个警告
我的错!正如我后来意识到的,我的系统是en_US.UTF-8
!
我只是通过从
export LANG=en_EN.UTF-8
到
和往常一样,魔鬼在于细节
在(Lion)上,为了修复一些错误,在我的~/.bash\u配置文件中,我设置了:
export LANG=en_EN.UTF-8
export LC_COLLATE=$LANG
export LC_CTYPE=$LANG
export LC_MESSAGES=$LANG
export LC_MONETARY=$LANG
export LC_NUMERIC=$LANG
export LC_TIME=$LANG
export LC_ALL=$LANG
然后很长一段时间我就明白了
sudo locale-gen en_US en_US.UTF-8
sudo dpkg-reconfigure locales
$ cat /etc/environment
...
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8
$ locale
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=en_US.UTF-8
LC_NUMERIC=ru_RU.UTF-8
LC_TIME=ru_RU.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=ru_RU.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=ru_RU.UTF-8
LC_NAME=ru_RU.UTF-8
LC_ADDRESS=ru_RU.UTF-8
LC_TELEPHONE=ru_RU.UTF-8
LC_MEASUREMENT=ru_RU.UTF-8
LC_IDENTIFICATION=ru_RU.UTF-8
LC_ALL=
$ sudo su
# export LANGUAGE=en_US.UTF-8
# export LANG=en_US.UTF-8
# export LC_ALL=en_US.UTF-8
# locale-gen en_US.UTF-8
Generating locales...
en_US.UTF-8... up-to-date
Generation complete.
# dpkg-reconfigure locales
Generating locales...
en_AG.UTF-8... done
en_AU.UTF-8... done
en_BW.UTF-8... done
en_CA.UTF-8... done
en_DK.UTF-8... done
en_GB.UTF-8... done
en_HK.UTF-8... done
en_IE.UTF-8... done
en_IN.UTF-8... done
en_NG.UTF-8... done
en_NZ.UTF-8... done
en_PH.UTF-8... done
en_SG.UTF-8... done
en_US.UTF-8... up-to-date
en_ZA.UTF-8... done
en_ZM.UTF-8... done
en_ZW.UTF-8... done
Generation complete.
# exit
$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
export LANG="en_US"
export LC_ALL=$LANG.UTF-8
dpkg-reconfigure locales
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_ALL to default locale: No such file or directory
sudo locale-gen uk_UA.UTF-8
sudo dpkg-reconfigure locales
# You may need to manually set your language environment
LANGUAGE=en_US.UTF-8
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_ALL=en_US.UTF-8
/etc/ssh/ssh_config` for `#AcceptEnv LANG LC_*
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
echo "export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8">>~/.bash_profile
source ~/.bash_profile
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_TYPE=en_US.UTF-8
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE=en_US
$ . /etc/default/locale
#export LANGUAGE=en_US.UTF-8
#export LC_ALL=en_US.UTF-8
#export LANG=en_US.UTF-8
#export LC_TYPE=en_US.UTF-8
nano .bashrc
export LC_ALL="en_US.UTF-8"
export LANG="en_US.UTF-8"
export LANGUAGE="en_US.UTF-8"
source ~/.bashrc
locale
sudo dnf install langpacks-de
dnf search langpacks-
localectl list-locales
sudo localectl set-locale de_DE.utf8
kali@kali:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Kali
Description: Kali GNU/Linux Rolling
Release: 2020.3
Codename: kali-rolling
kali@kali:~$
kali@kali:~$ enum4linux
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_ADDRESS = "ms_MY.UTF-8",
LC_NAME = "ms_MY.UTF-8",
LC_MONETARY = "ms_MY.UTF-8",
LC_PAPER = "ms_MY.UTF-8",
LC_IDENTIFICATION = "ms_MY.UTF-8",
LC_TELEPHONE = "ms_MY.UTF-8",
LC_MEASUREMENT = "ms_MY.UTF-8",
LC_TIME = "ms_MY.UTF-8",
LC_NUMERIC = "ms_MY.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
enum4linux v0.8.9 (http://labs.portcullis.co.uk/application/enum4linux/)
Copyright (C) 2011 Mark Lowe (mrl@portcullis-security.com)
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
export LC_ALL=en_US.UTF-8
kali@kali:~$ export LC_ALL=en_US.UTF-8
kali@kali:~$
kali@kali:~$ enum4linux
enum4linux v0.8.9 (http://labs.portcullis.co.uk/application/enum4linux/)
Copyright (C) 2011 Mark Lowe (mrl@portcullis-security.com)
$ export LANGUAGE=en_US.UTF-8
$ export LC_ALL=en_US.UTF-8
$ export LANG=en_US.UTF-8
$ export LC_CTYPE=en_US.UTF-8
$ sudo locale-gen
$ sudo dpkg-reconfigure locales