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

最新在用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-8cygwin做了一个智能检测。

那么,我们把 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等都没有出现中文。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值