`

解决Locale的问题

阅读更多

1. No such file 用locale命令的时候就会出现

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

2. perl warning, please check if supported 在apt-get install/remove的时候出现

perl: warning: Please check that your locale settings: LC_ALL = (unset), LC__FASTMSG = "true", LC_MESSAGES = "", LANG = "zh_CN" are supported and installed

相关命令

locale   查看现在的locale配置环境

localepurge 配置需要的locale(如果没有这个命令,用apt-get install localepurge安装)

locale-gen 生成需要的locale文件,

            参数 --purge用来删除所有旧的配置,在出现问题时很有用

相关的文件

其实在man locale-gen和man locale里面都讲到了,我还在网上查资料,浪费时间,悔之晚矣……

/usr/share/i18n/SUPPORTED
              List of supported values (and their associated encoding) for the
              locale  name.    This   representation   is   recommended   over
              --all-locales one, due being the system wide supported values.

/var/lib/locales/supported.d/*
              List all locales to generate.  File format is similar to /usr/share/i18n/SUPPORTED.

/usr/lib/locale/<locale_name>/LC_*
              Compiled locale data.这些就是用locale-gen编译出的locale文件了

/etc/environment 编辑这个文件可以手动配置locale环境变量,LC_CTYPE之类的,具体有哪些可配置的变量,都是什么含义,用man locale就能看到了

解决问题

很简单,重新生成所有的locale配置,其实网上的资料只是漏掉了--purge参数而已

第一步:配置自己想要的locale。普遍推荐的方法是拷贝所有ubuntu支持的locale到自己的配置文件里,然后编辑。

cp /usr/share/i18n/SUPPORTED /var/lib/locales/supported.d/local

vi /var/lib/locales/supported.d/local,用dd命令删啊删,只留下en_系列和zh_系列, 或者其他你要的locale

rm /var/lib/locales/supported.d/en

rm /var/lib/locales/supported.d/zh 这两个文件跟local一样功能,也可以把en系列写在en文件里,zh系列写在zh文件里,分类方便而已。我既然都写在local里,这两个就用不着了。

第二步:重新生成locale支持文件

locale-gen --purge

这一步会将/usr/lib/locale/里面的locale支持文件删掉,重新生成。如果设置的locale没有生成过,或者设置的时候拼写错误,在这个目录找不到同名的支持文件就会提示No such file了。

第三步:配置locale环境。

敲locale把输出的那些环境变量拷贝到/etc/environment里面,自己手工修改。可以设的值就是/var/lib/locales/supported.d/local里面包括的值,或者生成在/usr/lib/locale/里面的文件夹名称。

第四步:退出重新登录,再敲locale看看,没错误了。

分享到:
评论

相关推荐

    解决React在安装antd之后出现的Can’t resolve ‘./locale’问题

    React在安装antd之后出现的Can’t resolve ‘./locale’问题,是因为moment在2.2之后的版本都有问题,而react默认使用了最新的moment,但是在moment@2.18.1中是没有问题的。 解决方案就是配置webpack的alias,将所有...

    locale-archive

    通过alpine-glibc构建java运行环境镜像,我们使用该镜像运行java程序时会出现中文乱码,所以我要将该字符集加入到alpine-glibc镜像中,解决中文乱码问题。 locale-archive在镜像中的目录:/usr/glibc-compat/lib/...

    NT Locale Emulator Advance(NTLEA)区域及内码转换 v0.86中文绿色版

    NT Locale Emulator Advance(NTLEA)区域及内码转换 NTLEA (NT Locale Emulator Advance),是一个区域及内码转换软件。专门用来解决游戏或软件乱码。尤其是喜欢玩日语游戏的读者一定要好好关注此文。 NTLEA 也...

    中文提示文件grid.locale-cn.js

    解决jqGrid中文乱码,根据原版英文grid.locale-en.js翻译而成

    NT Locale Emulator Advance (中文名稱: NT全域通)

    RtlUnicodeToMultibyteN挂钩函数中一个重大的BUG,解决了大部分程序的兼容性问题 0.20 beta 06.10.9 增加针对特定应用程序的支持选项 重写部分函数,提高了挂勾程序的兼容性 修正数个小BUG 0.17 beta 06.9.30 再次...

    debian-locale:Debian

    此 Docker 映像将解决的该会影响尝试更改区域设置的 CircleCI 上的 Docker 构建。 你会看到这样的错误信息: Generating locales... cannot change mode of new locale archive: No such file or directory en_...

    boost_locale-vc120-mt-1_56.dll

    matlab 2016a 由于找不到 boost_locale-vc120-mt-1_56.dll,无法继续执行代码。重新安装程序可能会解决此问题。

    Live555 Windows Mobile 平台下 编译问题 MyLocale

    LIVE555迁移到VS2005时,编译会有时间错误提示: error LNK2019: 无法解析的外部符号 setlocale,该符号在函数 "public: __cdecl ...解决办法是新建立一个类,并使用新的类MyLocale代替旧类. 新类MyLocale代码在附件.

    linux中文编码locale

    Ubuntu设置中文,解决中文乱码所需依赖包

    Locale Emulator

    转区工具,解决WIN8不能用microsoft applocale的问题

    解决React在安装antd之后出现的Can&#39;t resolve &#39;./locale&#39;问题(推荐)

    主要介绍了解决React在安装antd之后出现的Can't resolve './locale'问题,本文给大家分享解决方案,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    linux登录时候提示字符集有问题解决方法

    字符集报错一直存在 locale: Cannot set LC_CTYPE to default locale: No such file or directory ...公司有台jenkins服务器,因历史原因一直使用centos6.5,突然登录时候提示字符集有问题,本人其实已经使用centos7很

    Docker容器中文乱码(修改docker容器编码格式)的解决方案

    前台上传文件到服务器后,服务器返回给前台的文件列表中出现中文乱码,所有的中文文件名全部变成?,英文文件名则正常显示。  问题经过定位,发现后台代码的multipartfile类在执行... 解决办法:locale -a查

    cvs资源及教程、解决汉化、中文乱码、常用操作等

    本人之前都是用的git和svn,跳槽后发现新公司用的cvs,一番研究后决定把资源共享,下载这个应该能解决你的问题,安装包都是官方网站下载的,无毒放心使用,个人整理也花费了一番功夫,所以还是不免费了,有需要的...

    vue版本冲突 解决 替换包

    运行vue项目时,启动报错 error in ./~/_element-ui@2.7.2@element-ui/packages/form/src/label-wrap.vue Syntax Erroe:Unexpected token (20:14) ;; 将此压缩包解压到node_moudel里面找到 element-ui,替换即可

    busybox下local配置

    解决在busybox下没有语言环境导致的问题 例如setlocale 函数不可用等

    关于Locale的Tychonoff定理* (1987年)

    本文证明了空间的Tychonoff定理可以直接从Locale的对应定理中导出。从而,改进了Johnstone的二个较新结果,解决了Locale理论中一个乐解决的问题.

    Qt5翻译源码翻译文件(解决QTextEdit没有翻译的版本)

    Qt翻译源码翻译文件(解决QTextEdit没有翻译的版本) // Qt中文翻译 QTranslator qtTranslator; { QDir dir(qApp-&gt;applicationDirPath() + "/translations"); dir.setFilter(QDir::Files | QDir::Hidden | QDir:...

    java中文乱码解决方案

    n 种方法教你解决java中文乱码 struts2中文乱码解决方法 1. 在struts2里面,最好将所有字符都设成utf-8。 ; charset=UTF-8"%&gt; &lt;%@ page pageEncoding="UTF-8" %&gt;1.1 在jsp页面设定字符编码。这边有必有说明的是...

Global site tag (gtag.js) - Google Analytics