首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >末端西里尔问题

末端西里尔问题
EN

Ask Ubuntu用户
提问于 2019-06-19 12:12:20
回答 1查看 5.5K关注 0票数 4

当我在终端中运行xclock命令时,我总是收到以下警告:

代码语言:javascript
复制
Warning: Missing charsets in String to FontSet conversion

我编辑了我的~/.bashrc文件,在末尾添加了以下一行:

代码语言:javascript
复制
export LC_ALL=C

在此之后,我的控制台出现了奇怪的行为--我可以删除描述当前用户及其所在路径的初始字符。

如果我用西里尔语写东西的话。当我试图插入第一个西里尔字母时,我在用符号代替之前所写的所有东西。然后,我可以删除控制台中的初始字符,继续按backspace按钮。

为什么变量LC_ALL会影响我的终端,以及如何在不损害终端的情况下解决警告xclock的问题?

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2019-06-20 12:30:42

正如用户@egmont所说,一切都发生了变化。

当变量LC_ALL被定义为C时,它将所有应用程序的编码设置为ASCII(一般来说,只需要将编码更改为另一种,这不支持西里尔)。

最初还没有定义LC_ALL。如果是这样的话,您可以通过键入:

代码语言:javascript
复制
echo $LC_ALL

如果要获得空行,则变量为空。

据我所知,

xclock's警告是由于缺乏明确指定的编码

而出现的。

如果您将LC_ALL设置为C (如大多数互联网提示中所述),则可以清楚地指定编码。而且这种编码不是UTF-8

对于问题解决方案,必须显式指定支持Cyrillic的编码。您可以通过将下一行添加到~/.bashrc文件的末尾来做到这一点:

代码语言:javascript
复制
export LC_ALL=C.UTF-8
票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1152285

复制
相关文章

相似问题

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