这个问题似乎与 a specific programming problem, a software algorithm, or software tools primarily used by programmers 无关.如果您认为该问题将成为 another Stack Exchange site 上的主题,您可以发表评论,说明在哪里可以回答问题。
关闭 2 年前。
我刚刚安装了Linux Mint 17 并面临一个问题,我无法在终端中使用俄语。 (我看到的是 ?
而不是字母。)
在一个论坛上我找到了这个解决方案:
Added in ~/.profile:
export LANG=ru_RU.UTF-8
export LC_CTYPE=ru_RU.UTF-8
export LC_ALL=ru_RU.UTF-8
它有所帮助,但也将我的界面语言更改为俄语(我不想要)。这甚至不是问题,但无论如何,我想知道这段代码是如何工作的(每一行)。
最佳答案
我会详细解释:
export LANG=ru_RU.UTF-8
这是一个 shell 命令,它将导出一个名为 LANG
的环境变量,其值为 ru_RU.UTF-8
。这指示国际化程序使用俄语 (ru
)、来自俄罗斯的变体 (RU
) 以及控制台输出的 UTF-8
编码.
一般这一行就够了。
另一个:
export LC_CTYPE=ru_RU.UTF-8
做类似的事情,但它告诉程序不要更改语言,而只是将 CTYPE 更改为俄语。如果程序可以将文本更改为大写,那么它将使用俄语规则来执行此操作,即使文本本身可能是英文。
值得一提的是,混合使用 LANG
和 LC_CTYPE
会产生意想不到的结果,因为很少有人这样做,所以它还没有经过测试,除非可能:
export LANG=ru_RU.UTF-8
export LC_CTYPE=C
这将使程序以俄语输出,但 CTYPE 标准旧 C 风格。
最后一行,LC_ALL
是最后的覆盖,这将使程序忽略所有其他 LC_*
变量并使用它。我认为您永远不应该在配置文件行中编写它,而是使用它来以给定的语言运行程序。例如,如果您想编写错误报告,并且不想要任何类型的本地化输出,并且您不知道设置了哪些 LC_*
变量:
LC_ALL=C program
关于更改所有程序或仅控制台的语言,这取决于您将这些行放在哪里。我将我的放在 ~/.bashrc
中,因此它们不适用于 GUI,仅适用于 bash 控制台。
https://stackoverflow.com/questions/30479607/