最近我在Cygwin中碰到要操作中文字符的问题,显示Windows的中文目录或文件名的时候,看到所有中文文件都变成了”?????”。并且Cygwin并没有办法输入中文作为命令参数,比如新建一个中文名的文件。上网搜了一下,找到了一个解决办法。

配置步骤:

1.在用户home目录里的.bash_profile文件末尾添加如下代码

export LC_ALL=en_US.UTF-16
export LC_CTYPE=en_US.UTF-16
export LANG=en_US.UTF-16
export XMODIFIERS=@im=Chinput3
stty cs8 -istrip
stty pass8
export LESSCHARSET=latin1

2.解决中文输入的问题

Cygwin里默认不会显示你输入的中文,而是显示一大堆的编码。同样是用户的home目录,去掉.inputrc文件中以下代码的注释(前面的#号):

set meta-flag on
set convert-meta off
set input-meta on
set output-meta on

如果你没有.inputrc文件,就创建一个,把上面的代码扔进去。

  1. 还是home目录,在.bashrc文件中添加代码:

alias ls=’ls –color –show-control-chars’

4.重启Cygwin。

配置完成了,支持中文并消除了所有的乱码。