$ sudo apt-get install wget
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_TIME = "zh_CN.UTF-8",
LC_MONETARY = "zh_CN.UTF-8",
LC_ADDRESS = "zh_CN.UTF-8",
LC_TELEPHONE = "zh_CN.UTF-8",
LC_NAME = "zh_CN.UTF-8",
LC_MEASUREMENT = "zh_CN.UTF-8",
LC_IDENTIFICATION = "zh_CN.UTF-8",
LC_NUMERIC = "zh_CN.UTF-8",
LC_PAPER = "zh_CN.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_ALL to default locale: No such file or directory
-----------------------------------
solution:
那是因为安装软件时,都会去执行一个update-locale的命令,用来更新locale
这个命令是一个脚本,用perl写的,可以用whereis update-locale查到,位置在/usr/sbin/update-locale
上述报错并不是因为update-locale命令而引起,update-locale这段脚本没有问题,而是因为perl
其实,真正的原因是perl为系统使用zh_CN.UTF-8,但系统不知道zh_CN.UTF-8是什么东西
*************************************
解决方法也很简单
apt-get install language-pack-zh-hans
安装一个中文语言,系统就知道zh_CN.UTF-8了,这个时候用perl就不会报错了
深入了解
这种情况一般是vps比较常见,因为一般都是用ssh的方式连接到vps上的
sshd有这个机制,会把客户机上的语言环境带到远程的机器上
客户机一般都会设置zh_CN.UTF-8语言,用来显示中文,而远端的vps一般就只有en_US.UTF-8
zh_CN.UTF-8一旦带过去就会报找不到的错误,文章开头已经说的很清楚了
不靠谱的解决方法
网上还有些解决方法,并不是很靠谱,虽然从表面来看像解决问题了,但其实是把问题影藏了
比如在远程主机上的/etc/ssh/sshd_config文件里,将AcceptEnv LANG LC_*这行注释掉
然后重启远程的sshd,然后退出远程后,重新ssh上来。
这时,远程主机不会把客户机的语言环境(zh_CN.UTF-8)带过来
当然就不会再有报错,可惜的是,远程主机是无法正确显示中文的,问题还在,只是被影藏了。
分享到:
相关推荐
新vps设置 ...$ ssh root@192.1.1.1 root@myserver:~# passwd 设定时区 root@myserver:~# date ...perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
5. `perl-Locale-Maketext-1.23-3.el7.noarch.rpm`: 为Perl提供国际化(i18n)和本地化(l10n)支持,使得程序可以适应不同地区的语言环境。 6. `perl-Module-CoreList-2.76.02-299.el7_9.noarch.rpm`: 显示Perl...
前言 我在使用阿里云centos7.4布置django网站的时候,因为自带的是python2,而我需要的是python3。为了图方便我安装了anaconda来引入python3,但是造成了不少的环境混乱的问题,在启动uwsgi的时候会报错找不到python...
官网搬的Locale.Emulator,地址http://pooi.moe/Locale-Emulator/,GIT地址https://github.com/xupefei/Locale-Emulator非常简洁好用的转区工具希望大家能关注一下
This zip contains perl modules that bugzilla required. Extract the zip and use 'install_ppms.pl' to install all modules automatically if you have install Perl already. Modules list: 1: 1_CGI.pm 2: 2...
11. Locale::Maketext::Lexicon 和 Locale::Maketext::Simple:支持多语言功能。 12. YAML:用于读写YAML格式的配置文件,Bugzilla的配置文件通常是YAML格式。 使用PPM安装模块的过程非常简单。在PPM界面,搜索你...
7. **国际化和本地化**:Perl的`Text::Wrap`模块用于文本换行,`Getopt::Long`处理命令行选项,`Locale::Maketext`支持多语言。 通过学习和实践这些Perl基础知识和高级特性,你将能够编写出高效、可维护的Perl程序...
在Linux操作系统中,`locale-archive`和`locale-archive.tmpl`是两个非常关键的文件,它们与系统的国际化(Internationalization,简称i18n)和本地化(Localization,简称l10n)设置密切相关。`locale`是系统用来...
10. Locale::Maketext::Lexicon:提供多语言支持,使Bugzilla可以显示不同语言的界面。 11. Text::CSV:处理CSV格式的数据,可能在导入导出Bugzilla数据时使用。 12. Time::Piece:处理日期和时间,用于记录和显示...
离线安装包,亲测可用
C语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE....
filelocator and perl; for devleop search code quickly
在Laravel框架中,"locale"是一个至关重要的概念,它涉及到应用的多语言支持和国际化。Laravel 5本地化包则是为了帮助开发者更轻松地管理和实现应用的多语言功能。接下来,我们将深入探讨Laravel中的locale机制以及...
标题 "Locale.Emulator.2.5.0.1.zip" 指的是 Locale Emulator 的一个特定版本,这是由 Microsoft 开发的一款实用工具,旨在帮助用户在不支持特定语言环境的操作系统上运行那些需要特定区域设置的应用程序。...
boost159-locale-1.59.0-2.el7.x86_64.rpm
【Locale.Emulator.2.3.1.1.rar】是一个用于解决地区限制问题的工具,主要用于帮助用户在不改变系统区域设置的情况下运行特定地域版本的应用程序或游戏。这个压缩包包含的是“Locale Emulator”软件的版本2.3.1.1。...
离线安装包,亲测可用
《区域模拟器(Locale Emulator)2.4.1.0:解决跨语言软件执行难题》 在IT领域,我们经常遇到这样的问题:某些软件或游戏由于设计时针对特定地区的语言环境,导致在非目标区域的系统上无法正常运行。为了解决这一...
【Locale详解】 Locale是计算机系统中的一个重要概念,它关乎到软件如何适应不同地区的语言、文化和习惯。在国际化和本土化的过程中,locale起到了桥梁的作用,确保软件可以正确地处理和显示不同区域的语言信息。 ...