www.cnblogs.com/ruiyqinrui

开源、架构、Linux C/C++/python AI BI 运维开发自动化运维。 春风桃李花 秋雨梧桐叶。“力尽不知热 但惜夏日长”。夏不惜,秋不获。@ruiY--秦瑞

python爬虫,C编程,嵌入式开发.hadoop大数据,桉树,onenebula云计算架构.linux运维及驱动开发.

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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_COLLATE to default locale: No such file or directory

 

一、Cannot set LC_CTYPE to default locale 解决(make localedata/install-locales )

1、问题描述 locale时提示下面错误

01.locale:Cannot set LC_CTYPE to default locale: No such file or directory

02.locale:Cannot set LC_MESSAGES to default locale: No such file or directory

03.locale:Cannot set LC_ALL to default locale: No such file or directory

ssh登陆弹出如下错误

-bash: warning: setlocale: LC_CTYPE: cannot change locale (zh_CN.UTF-8)

2、问题产生原因

centos 6.5 系统

需求装一个需要glibc-2.14支持命令组件,安装glibc-2.14

tar -zxvf glibc-2.14.tar.gz

cd glibc-2.14

mkdir build

../configure --prefix=/usr/local/glibc-2.14

make && make install

ln -sf /usr/local/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6

(提示 如果直接删除移动/lib64/libc.so.6文件会有错误Can't open configuration file /usr/local/etc/ld.so.conf)

安装完成后,支持 glibc-2.14,但是 提示如上错误

并且有中文乱码、svn、perl、date等命令不能应用问题

解决问题:

1、设置字符集编码支持utf-8

source /etc/sysconfig/i18n

查看locale,为如下内容

每次链接都会报错(setlocale: LC_CTYPE: cannot change locale (zh_CN.UTF-8))

并且按照网络上方法尝试解决,1小时。2小时。3小时。无解决

忽然想到是不是glibc和locale的库版本不兼容造成的该问题

查看glibc的wiki,最后在相关locale中查找到链接https://sourceware.org/glibc/wiki/Locales?highlight=%28install-locales%29

根据提示重新编译 glibc-2.14

../configure --prefix=/usr/local/glibc-2.14

make && make install && make localedata/install-locales

问题解决!!!

二、现象:cat 没问题,vim中文乱码

错误:bash: 警告:setlocale: LC_TIME: 无法改变区域选项 (zh_CN.UTF-8)

原因分析:
系统已经设置了默认地区_语言.字符集为zh_CN.UTF-8,但是在系统中没有定义对应的locale文件,所以只需要手动生成这个locale文件即可!

解决办法:
1)# vim /etc/environment #添加下面两行内容

LANG="zh_CN.UTF-8"
LC_ALL=

2)source这个文件内容:
# source /etc/environment

3)# vim /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"

4)然后执行如下命令,生成 en_US.UTF-8这个字符集对应的locale文件:

# localedef -v -c -i zh_CN -f UTF-8 zh_CN.UTF-8
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/zhangxueleishamo/article/details/77978300

posted on 2024-08-17 14:18  秦瑞It行程实录  阅读(237)  评论(0编辑  收藏  举报
www.cnblogs.com/ruiyqinrui