如果安装时选择的中文环境,那么在编译程序时,一些重要的编译Log也都是中文显示的,一旦出现问题,搜索起来很麻烦,比较英文搜索获取答案的几率要更大一些,所以这时有必要将输入Log修改成英文输出。
简单一点就是:在~/.bashrc最后添加一行:
export LANGUAGE=en_US.UTF-8
保存退出后执行:
$ source ~/.bashrc
以便让修改即使生效。
问题虽然解决了,但答案确不是最好的,且看牛人分享的最佳答案:
* 短答案:
具体地应该修改你系统的LC_MESSAGES环境变量:
这个环境变量用于国际化信息, 主要是提示信息,错误信息, 状态信息, 标 题, 标签, 按钮和菜单等.
对于GNU家族的工具集,如果LC_MESSAGES没设定, 则LANGUAGE值起到和它一样的作用,如你所设。
* 长答案:
LC_*形环境变量的优先级是:LC_ALL > LC_* > LANG.
具体地说,
1.就是如果定义了LC_ALL ,则它覆盖了所有LC_*变量的定义,所有规则都遵从LC_ALL的定义。 (注意,这个变量不要设定,它的存在价值可能仅在于定义了一个新locale后,作测试用)
2. 如果LC_ALL没设定(合理的方法是应该一直这么做)。则由LC_*细粒度地定义了各个方面,如关于字符集LC_CTYPE. 关于货币符号LC_MONETARY,关于提示信息LC_MESSAGES等。
所以本例中,你应该设定这个变量. 对于GNU家族的工具集,那么如果LC_MESSAGES, 则LANGUAGE值起到和它一样的作用,如你所设。
3. 如果LC_ALL, 及LC_*都没设定,那么会读取 LANG 的设定。
--------------------
多说点:
locale是涉及国际化与本土化过程中的一个非常重要的概念。包括但不限于:
你使用什么语言,使用什么字符集, 习惯表示法:如日期,数字,货币符号要怎么表示等。
经常看到LC_CTYPE, LC_COLLATE等LC_*环境变量,就是规定这些内容细节的。详细可看
man 7 locale,
或
POSIX标准相关章节:http://pubs.opengroup.org/onlinepubs/9699919799/
Base Definitions: 7.locale
通常,如果你想可以输入中文,那么要让你的LC_CTYPE设为支持中文的locale就行.
这个环境变量规定诸如使用什么字符集,大小写转换,及其他字符集属性等。比如大陆常用是LC_CTYPE=zh_CN.UTF-8, 表示: 我使用中文,在中国大陆,使用UTF-8字符集。默认地话,是会设为LC_CTYPE=C或LC_CTYPE=POSIX, 这两个locale是同义词,由posix规定的默认locale.
(查看你系统当前支持的locale用cat /etc/locale.gen. 这个文件会被locale-gen命令来生成locale.
具体地, 这个命令会读取/usr/share/i18n/locales和/usr/share/i18n/charmap来生成locale.
/usr/share/i18n/locales表示某一具体的locale, 如默认的C(POSIX) locale, 它是文本文件,打开看看可发现其中分为若干节,规定了每一个LC_*变量的内容,具体请看上面给的POSIX规范链接.
/usr/share/i18n/charmap则主义了字符集的定义,如/usr/share/i18n/charmap/UTF-8 文件定义了ISO-10646/UTF-8中基础平面上的字符。详细请搜索:unicode标准。)
找到一篇介绍locale的文章,比较容易懂:http://www.linuxsky.org/doc/desktop/200704/20.html 值得一读。
所以本例中,你应该设定这个变量. 对于GNU家族的工具集,那么如果LC_MESSAGES, 则LANGUAGE值起到和它一样的作用,如你所设。
3. 如果LC_ALL, 及LC_*都没设定,那么会读取 LANG 的设定。
--------------------
多说点:
locale是涉及国际化与本土化过程中的一个非常重要的概念。包括但不限于:
你使用什么语言,使用什么字符集, 习惯表示法:如日期,数字,货币符号要怎么表示等。
经常看到LC_CTYPE, LC_COLLATE等LC_*环境变量,就是规定这些内容细节的。详细可看
man 7 locale,
或
POSIX标准相关章节:http://pubs.opengroup.org/onlinepubs/9699919799/
Base Definitions: 7.locale
通常,如果你想可以输入中文,那么要让你的LC_CTYPE设为支持中文的locale就行.
这个环境变量规定诸如使用什么字符集,大小写转换,及其他字符集属性等。比如大陆常用是LC_CTYPE=zh_CN.UTF-8, 表示: 我使用中文,在中国大陆,使用UTF-8字符集。默认地话,是会设为LC_CTYPE=C或LC_CTYPE=POSIX, 这两个locale是同义词,由posix规定的默认locale.
(查看你系统当前支持的locale用cat /etc/locale.gen. 这个文件会被locale-gen命令来生成locale.
具体地, 这个命令会读取/usr/share/i18n/locales和/usr/share/i18n/charmap来生成locale.
/usr/share/i18n/locales表示某一具体的locale, 如默认的C(POSIX) locale, 它是文本文件,打开看看可发现其中分为若干节,规定了每一个LC_*变量的内容,具体请看上面给的POSIX规范链接.
/usr/share/i18n/charmap则主义了字符集的定义,如/usr/share/i18n/charmap/UTF-8 文件定义了ISO-10646/UTF-8中基础平面上的字符。详细请搜索:unicode标准。)
找到一篇介绍locale的文章,比较容易懂:http://www.linuxsky.org/doc/desktop/200704/20.html 值得一读。
——最佳答案由 larmbr zhan <nasa4836(at)gmail.com> 提供