Cygwin 各类状况下中文乱码--终极解决方案

0.引言

本人从进公司以来一直负责公司Android平台下产品的NDK开发,用的工具:java

01. Google的adt-bundle(集成了eclipse和sdk)bash

02. NDK eclipse

03. Cygwin工具

(PS:  虽然比较新的ndk版本,好像是从 r7开始就已经能够不用Cygwin了,学习

    可是本人从刚开始接触Android NDK开发时就用的是Cygwin,在Window操做系统下足够用了,测试

    做为懒人,既不想折腾到Linux下,又对命令行的操做比较留恋,因此就这么一直用着。高手请勿见怪。)spa

1. 穷

今天在作一个小测试的程序的时候,使用 javah 命令,想看一下有关 javah 的详细帮助说明,忽然发现那些中文说明都乱码了。操作系统

话说当初刚装 Cygwin 不久,在看代码里面注释的时候发现中文显示乱码,命令行

当时随便修改了 options 选项里面 Text 的 locale character set ,看能正常显示了就没再继续折腾了。3d

想不到今天查看帮助文档显示的时候居然又发现了乱码,只好网上各类查找资料,亲自实践,不断尝试。。。

此次本人决定整理一份终极解决方案,一次性解决,永绝后患。

 

网上绝大部分都是相互转载,内容翻来覆去雷同类似度很高,却最终也也没有一个彻底解决各类状况的中文乱码方案。

有的是文件注释里面中文正常显示了,可是不少英文倒变成了乱码。(如命令“ls -l”中的total、man查看帮助的部分英文)

有的比较好的解决方案实现了命令帮助里面中文正常显示,可是有些地方(好比 ls -la 显示的文件日期)却变成了英文。

2. 变

如今分享本人的完美终极解决方案:

2.1 界面设置

  非文本编辑状态下,在界面上右键,选择 options 选项里面 Text 的设置,

  Local 一栏选择 C (或者选 Default 的话系统也会自动默认为 C), Character set 一栏选择 GBK。如图所示:

   

2.2 代码配置

  1. 先 “ cd ~ ” 进入用户目录, 打开目录下 .bash_profile 文件,在末尾添加以下几行代码:

  

 

  2. 在当前目录下,打开 .inputrc 文件,找到有关 bash 命令对8 字节字符处理的代码,去掉这句 set 前面的注释符号(即前面的#号)。

 

  3. 在当前目录下,打开 .bashrc 文件, 让 ls 命令显示中文和颜色,添加代码以下:

  (其实通过本人实践,发现这一步对中文乱码的处理没有影响,只是针对 ls 命令作的一个视觉显示改进。不过确实看起来舒服多了。^_^)

3. 通

所谓 “ 穷则变,变则通。” 如今你会发如今这份终极方案处理下,Cygwin 已经完美支持各类状况下的中文显示了。

各类状况例子截图以下

1. ls -la 命令:

 

2. javah 命令

3. 查看代码中的中文注释

 

本文系本人原创,供各位学习交流,若有须要转载请标注出处,并给出本原文连接。谢谢各位支持。^_^

相关文章
相关标签/搜索