首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当在上运行‘`locale -a`’时,LANG和LC_ALL是空的,这是不是很糟糕?

当在上运行‘`locale -a`’时,LANG和LC_ALL是空的,这是不是很糟糕?
EN

Stack Overflow用户
提问于 2015-06-14 16:50:14
回答 1查看 14.6K关注 0票数 5

我用。

当我运行locale时,我得到以下信息:

代码语言:javascript
运行
复制
locale 
LANG= 
LC_COLLATE="C" 
LC_CTYPE="UTF-8" 
LC_MESSAGES="C" 
LC_MONETARY="C" 
LC_NUMERIC="C" 
LC_TIME="C" 
LC_ALL=

问题

LANGLC_ALL的空虚是坏的/正常的/优先的吗?

一般情况下,我不会太在意,但我有个警告

代码语言:javascript
运行
复制
(process:16182): Gtk-WARNING **: Locale not supported by C library.
        Using the fallback 'C' locale.

当我使用GTK (here's a link to my previous quesiton on this)时。

在许多语言(Python for example)和不同的操作系统(Ubuntu for example)中,人们一直在努力解决这个问题。

重点是,我找不到C语言和OS的任何解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-14 18:26:52

我猜想,GTK警告是因为GTK实际上试图使用系统首选项中的Mac语言和地区设置来生成一个地区标识符字符串,使用带有setlocale()的字符串,并被告知C库不支持该区域设置。因此,它默认为"C“区域设置。如果它没有试图找到一个更好的区域设置,就没有理由警告它使用"C“区域设置,因为当LANGLC_ALL未设置时,这就是所期望的。

OS在高级框架(Cocoa等)中支持许多语言和区域设置,但并非所有这些语言和地区都在C库级别上得到支持。系统首选项中的语言和地区设置是什么?您期望您的语言和语言环境标识符是什么?查看是否在locale -a的输出中(或者,类似地,在/usr/share/locale中是否有它的目录)。

另一件要检查的是终端的首选项。在“设置”窗格的“高级”选项卡下,“在启动时设置地区环境变量”是否已设置?如果没有,那么这些环境变量在默认情况下不会被设置,这可能解释您看到了什么。如果启用了设置,但仍然没有获得这些环境变量,这意味着终端无法找到与系统设置相匹配的合适的C库区域设置。

最后,您可以尝试将LANG设置为您想要使用的内容。例如:

代码语言:javascript
运行
复制
export LANG=pl_PL.UTF-8
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30832012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档