Perl:警告:在Debian和Ubuntu中设置区域设置失败

时间:2020-01-09 10:42:58  来源:igfitidea点击:

我正在尝试安装软件包并做其他工作。
但是,收到显示为

perl: warning: Setting locale failed. perl: warning: Please check that your locale settings:
perl的错误:警告:设置区域设置失败。 perl:警告:请检查您的语言环境设置:

如何在Debian Linux服务器上解决此问题?
基于Perl的应用程序调用时显示警告消息。
例如,apt/apt-get在内部使用Perl来管理Debian或者Ubuntu Linux中的软件包。

Perl:警告:在Debian和Ubuntu中设置区域设置失败

这是由apt-get命令/apt命令创建的示例会话:

$ sudo apt-get install iperf

了解Ubuntu和Debian Linux中的语言环境

语言环境是在多种语言之间切换的框架,允许用户使用他们的语言,国家/地区,字符,排序规则,日期和时间等。
请确保设置用于生成UTF-8语言环境的语言环境。
可以设置其他字符集,以便与旧系统和软件向后兼容。

如何修复Perl:警告:在Debian和Ubuntu中设置区域设置失败

执行以下命令对其进行修复。
我正在使用en_US.UTF-8。
您可以使用cat命令在/etc/locale.gen中查看所有本地化的列表:

cat /etc/locale.gen

或者

more /etc/locale.gen

另一种选择是使用grep命令搜索特定的语言环境。

## For example, search for English India ##
grep en_IN /etc/locale.gen
 
## Search for English US ##
grep en_US /etc/locale.gen
 
## Search for Japanese ##
grep ja_JP /etc/locale.gen

了解ja_JP.UTF-8或者en_US.UTF-8

ja_JP.UTF-8为日语用户定义了如下字符编码:

  • 语言环境为ja_JP
  • 编码为UTF-8

同样,en_US.UTF-8适用于来自美国的英语用户:

  • 因此语言环境设置为en_US
  • 并将编码设置为UTF-8

要在屏幕上查看有关当前语言环境或者所有语言环境的当前信息,请运行locale命令:

locale

输出示例:

LANG=en_IN.UTF-8
LC_CTYPE="en_IN.UTF-8"
LC_NUMERIC=en_IN.UTF-8
LC_TIME=en_IN.UTF-8
LC_COLLATE="en_IN.UTF-8"
LC_MONETARY=en_IN.UTF-8
LC_MESSAGES="en_IN.UTF-8"
LC_PAPER=en_IN.UTF-8
LC_NAME="en_IN.UTF-8"
LC_ADDRESS="en_IN.UTF-8"
LC_TELEPHONE="en_IN.UTF-8"
LC_MEASUREMENT=en_IN.UTF-8
LC_IDENTIFICATION="en_IN.UTF-8"
LC_ALL=

如何在Debian或者Ubuntu Linux上生成语言环境

运行locale-gen命令从/etc/locale.gen为美国英语用户生成语言环境:

$ sudo locale-gen

或者

$ sudo locale-gen en_US.UTF-8

一个人也可以运行以下命令:

$ sudo localedef -i en_US -f UTF-8 en_US.UTF-8

如何在Debian和Ubuntu Linux中修复来自Perl的语言环境设置警告

我个人使用导出命令,locale-gen命令和dpkg-reconfigure命令的组合对其进行了如下修复:

$ sudo export LANGUAGE=en_US.UTF-8
$ sudo export LANG=en_US.UTF-8
$ sudo export LC_ALL=en_US.UTF-8
$ sudo locale-gen en_US.UTF-8

输出示例:

Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.

打开对话框:

$ sudo dpkg-reconfigure locales

接下来,设置默认值以修复来自Perl的语言环境设置警告:现在,您可以设置正确的语言环境并使用apt/apt-get进行测试:

$ sudo apt install foo