• Cygwin 各种情况下中文乱码--终极解决方案


    0.引言

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

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

    02. NDK 

    03. Cygwin

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

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

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

    1. 穷

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

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

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

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

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

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

    有的是文件注释里面中文正常显示了,但是很多英文倒变成了乱码。(如命令“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. 查看代码中的中文注释

     

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

  • 相关阅读:
    JAVA类和对象
    JAVA数组
    JAVA流程控制语句
    JAVA运算符
    JAVA数据类型-整数、浮点、字符串、boolean、引用数据类型
    JAVA变量
    JAVA文档注释的三种方式
    @Transactional注解失效的场景总结
    接口幂等性
    事务的四个特性、四种隔离级别和七种传播行为
  • 原文地址:https://www.cnblogs.com/yshl-dragon/p/3631056.html
Copyright © 2020-2023  润新知