• 解决 cygwin 在 win10 下中文显示乱码的问题


    在 win8 和 win10 上安装了 cygwin 之后,在不做任何配置的时候,显示目录下的中文名称的文件或者文件夹都是正常的。然后又尝试了使用 rsync 命令将服务器的中文名称文件同步到本地,服务器的编码是utf-8,也是正常的。以前在 win7 同步服务器文件的时候需要在 rsync 命令中配上 iconv 选项指定字符编码转换,同步回来的中文名称的文件才是正常。现在不需要配置了,挺好的。

    但是用了一段时间之后就发现,使用 cygwin 自带的命令窗口 mintty 执行 dos 命令的时候,中文显示都不正常,都是乱码,例如 ping、ipconfig 的时候。执行 dos 命令显示不正常也问题不大,因为使用的不多。但是在使用 java 命令的时候,显示乱码就不好了,执行有误都不知道怎么回事。例如直接输入 javac 中文显示出来的全是乱码。

    不过解决这个问题也比较简单,跟在 win7 下配置流程一样即可。

    1. 首先是将 mintty Options 中的字符集编码设置为 gbk 格式

    2. 修改 cygwin 的配置文件 “.bash_profile”、“.inputrc” 相关属性

    可以通过两种方式找到这两个文件

      1. 直接打开cygwin 的安装目录,找到文件夹 home ,然后进入 home 目录下的用户文件夹。

      2. 直接使用使用命令行,先执行命令 “cd ~” 进入home 目录,然后执行命令 “explorer .” 就打开了这两个文件所在的目录了。

    2.1. 先在 .bash_profile 文件中添加以下配置:

    export LC_CTYPE=zh_CN.GBK
    export LANG=zh_CN.GBK
    export OUTPUT_CHARSET=GBK
    export XMODIFIERS=@im=Chinput3
    stty cs8 -istrip
    stty pass8
    export LESSCHARSET=latin1

    2.2. 然后在 .inputrc 文件中找到以下属性,并且取消注释

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

    2.3. 执行 ls 的时候,颜色显示的配置

    alias ls='ls --color --show-control-chars'

    最后重启 cygwin 就可了,添加这些配置之后,rsync 同步服务器的中文名称的文件的时候,服务器编码跟本地编码不一致的时候,还是需要添加 iconv 选项指定编码。

    按照这种方式配置之后,已知还存在的问题就是查看本地工程 git 库的历史的时候,中文还是无法正常显示出来,如 git log ,这个还需要查一下原因。

     

    编程之美。
  • 相关阅读:
    Android中Chronometer 计时器和震动服务控件
    Android中几种常用的话框
    Android通过长按图片设置为壁纸
    Android把图片保存到SQLite中
    激活Win10
    SQL 语句解决实际问题
    在Foxmail邮件客户端登录263企业邮箱
    Visual Studio 安装VS10x CodeMAP
    开发常见问题汇总
    Java笔记:编写第一个Java程序
  • 原文地址:https://www.cnblogs.com/LuQingshang/p/4929825.html
Copyright © 2020-2023  润新知