zoukankan      html  css  js  c++  java
  • cygwin中中文输出与输出的处理



    作者: libuse 出自: http://www.linuxdiyf.com
    想了很多种措施要运转我的一个目次下的文件,可是怎样都不可,全部的路末了都锁在了怎样在cygwin下输出我的中文目次名?试了很多网上的措施终是不克不及成行,厥后在达人的辅导下,终于失路归返,真可谓路途是迂回的,出路是光亮的。

    其真实cygwin下不克不及输出中文的缘故起因是中文字符的最高位都是1,以是被当作节制符措置了。ok,我们现看下怎样做,然后再看看为什么这么做。

    怎样做:要是你的用户目次(/home/XXX)下有了: .inputrc , .bashrc/.bash-profile这两个或三个文件,那么恭喜你,你不用树立了,只需做删改就可以了。要是没有,那么贫穷坚苦你要树立这三个文件。在Linux下,我们有多种树立文件的措施,可是要是你没有在cygwin下装有vi等编纂器,那么您可以按如下提供的方法树立这三个文件:

    (1)从/ect/skel中将这三个文件拷贝到你的用户主目次下。

    (2)运用notepad来树立这三个文件,可是很主要的一点是,请您在保存时必定要存成ANSI编码的.txt文件,这一点请必定要记住。

    ok,文件如今是树立了,那么就剩下怎样删改文件了:(请按ANSI编码花样编写)

    (1)请在.inputrc文件中添加:

    set meta-flag on

    set convert-meta off

    set output-meta on

    set input-meta on

    set completion-ignore-case on 

    (2)请在.bashrc 或.bash-profile文件中添加:

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

    export LESSCHARSET=latin1

    删改后请保存成ANSI编码的花样。

    ok,前功尽弃了。

    如今就看看为什么要这么做,cygwin下不克不及输出中文的缘故起因是中文字符的最高位都是1,以是被当作节制符措置了,meta-flag,convert-meta等选项的意思可以参考man bash。复杂的说,设置meta-flag on允许从终端输出中文,不然的话终端会过滤失踪每个字节的最高位;convert-meta off是设置不将中文字符转化为转义序列,由于中文是两个字节默示的,第一字节的最高位是1扫尾的,可以能同于某个转义字符;output-meta on便是允许向终端直接输出中文;input-meta on便是允许向终端直接输出中文;set completion-ignore-case on这个可以在 echo A的时分按了后就能由readline给你补出来abc.txt;–show-control-chars也一样。




    版权声明: 原创作品,允许转载,转载时请务必以超链接情势标明文章 原始出处 、作者信息和本声明。不然将穷究功令责任。

  • 相关阅读:
    Android与js交互实例
    动态规划-最长公共子序列
    android调用js
    比特币不是虚拟货币,这是一个真实世界----李笑来
    Linux进程同步之POSIX信号量
    编程至死第0天
    JMX操作ActiveMQ(2)
    Oracle层次查询和with函数的使用
    boost::asio async_write也不能保证一次发完所有数据 一
    解决Eclipse一直loading workbench无法启动的问题
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1973801.html
Copyright © 2011-2022 走看看