您的位置:首页 > 其它

如何让 cygwin终端中显示的中文改成英文

2015-06-25 22:49 1226 查看
转:http://blog.csdn.net/semilog/article/details/7870591

最新在用cygwin 在windows 下编译u-boot,下了最新版的cygwin
1.7.15-1,结果里面的有些提示显示的是中文,如下图:



这让我感觉怪怪的,上网找方法,结果无果而终,因为之前装的 cygwin 1.7.9-1显示的是英文,没有出现这个现象,所以对比两个 cygwin的 etc里面的文件,结果发现在这个文件( Cygwin/etc/profile.d/lang.sh)里不一样:

Cygwin 1.7.15-1

test -z "${LC_ALL:-${LC_CTYPE:-$LANG}}" && export LANG=$(/usr/bin/locale -uU)

Cygwin 1.7.9-1

test -z "${LC_ALL:-${LC_CTYPE:-$LANG}}" && export LANG=C.UTF-8

到这里,那解决方法就很简单了,把Cygwin 1.7.15-1 中的lang.sh文件改成LANG=C.UTF-8问题解决,解决后后的图



现在问题是解决了,那么再来一下思维扩散吧,见如下两个问题:

1. 除了改 lang.sh文件,有没有其他的方法把 cygwin
1.7.15-1中显示的中文改成英文?


2. 能不能把 cygwin
1.7.9-1中显示的英文改成中文?


呵呵,下面就一起看一下吧。

1. 除了改 lang.sh文件,有没有其他的方法把 cygwin
1.7.15-1中显示的中文改成英文?


只要看一下lang.sh文件中对应的这句:

export LANG=C.UTF-8

在bash脚本中定义一个 LANG 的变量,值为 C.UTF-8

那么,我们就可以在 cygwin.bat 中的bash
--login –i 前一行加上一句:

set LANG=C.UTF-8

bash --login –i

即可解决问题。

2. 能不能把 cygwin
1.7.9-1中显示的英文改成中文?


对于这个问题,还是从那个语句出发

LANG=$(/usr/bin/locale -uU)

中的 /usr/bin/locale –uU 是什么意思呢?在终端中输入locale
–uU,如下



嘿嘿,其实对于中文系统来说就是zh_CN.UTF-8,cygwin做了一个智能检测。

那么,我们把 cygwin 1.7.9-1中的lang.sh LANG=C.UTF-8改成LANG=$(/usr/bin/locale
-uU)看看出现什么结果。

我改了一下,结果出现下图的结果:



会发现也出现了中文了,但同样,如果在cygwin.bat中的话,那就不能写成:

set LANG=$(/usr/bin/locale -uU)

而要写成:

set LANG=zh_CN.UTF-8

基本上分析完了,但是还有一个遗留问题存在就是第二个问题,改成中文后,只有一部分出现了中文,如上图,而下图的 leaving directory等都没有出现中文。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: