如何修复Red Hat发行版中的区域设置问题?

10 投票
3 回答
11638 浏览
提问于 2025-04-21 07:40

今天我在我的RHEL系统上遇到了一个奇怪的问题。我的Python脚本返回了:

>>> locale.setlocale(locale.LC_ALL, '')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.6/locale.py", line 513, in setlocale
    return _setlocale(category, locale)
locale.Error: unsupported locale setting

当我运行...

$ locale

输出是...

locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
...

我尝试了很多建议,但都没有解决我的问题。

例如:

  • 重新安装glibc-common。
  • 把LC_ALL作为环境变量导入到~/.bashrc文件中。
  • 修改文件/etc/sysconfig/i18n。
  • locale-gen在RHEL中不存在。

有没有人有好的建议来解决我的问题?记住,我使用的是RHEL,而不是Ubuntu(关于区域设置问题的教程大多是针对Ubuntu的)。

3 个回答

-3

在 /etc/environment 文件中添加以下变量解决了我的问题:

LC_ALL=en_US.UTF-8

LC_CTYPE=en_US.UTF-8

上面的回答很好。

2

在我的情况下,是iTerm自动设置了地区变量。我通过进入iTerm菜单来解决这个问题,然后

Preferences ... > Profiles > "select your profile" > Terminal > uncheck "Set locale variables automatically" 
19

把这个内容添加到你的 /etc/environment 文件里:

LC_ALL=en_US.UTF-8
LC_CTYPE=en_US.UTF-8

然后退出当前的会话,再重新登录到命令行里,试着执行你的命令。

撰写回答