Cygwin的中文文件名显示和中文输入问题的解决办法
来源:互联网 发布:卡宾淘宝旗舰店 编辑:程序博客网 时间:2024/06/11 22:56
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的时候按了<TAB>后就能由readline给你补出来abc.txt;–show-control-chars也一样。
下面就说说怎样做:
无论是显示中文文件名,还是输入中文,都必须设置Cygwin启动程序的选项中的“当前代码页”为简体中文。在简体中文的Windows系统中,Cygwin的“当前代码页”设置,缺省的就是简体中文。
1、右键cgywin窗口,单机options选项,Text选项,locale标签选择C(当前代码页),Character set标签选择GBK,单机ok。
2、修改文件
显示中文文件名
在Cygwin中用ls命令列出目录中的文件,如果是中文文件名,则显示为一串问号。
解决办法:
使用 ls 命令的 --show-control-chars 选项。为了方便使用,可以在 ~/.bash_profile 文件中设置一个ls命令的别名,即增加下面的一行语句
alias ls='ls --show-control-chars'
这样,以后使用ls命令时,就会自动增加 --show-control-chars 选项,正确显示出中文文件名。
输入中文
在Cygwin中,可以用ctrl+space 快捷件调出Windows的中文输入法,但无法把中文输入进去。
解决办法:
编辑 ~/.inputrc 文件,把
# Allow 8-bit input/output
行后面的四行语句
#set meta-flag on
#set convert-meta off
#set input-meta on
#set output-meta on
前面的注释符去调,即改为:
# Allow 8-bit input/output
set meta-flag on
set convert-meta off
set input-meta on
set output-meta on
同时加上一句
set completion-ignore-case on
这样昨晚就应该大功告成了。。。。。下图是前后设置对比图,没设置之前中文显示为乱码,设置后就可以显示也可以输入。。
- Cygwin的中文文件名显示和中文输入问题的解决办法
- cygwin中文输入和显示
- cygwin中文输入和中文显示
- Linux tree 显示中文文件名的解决办法
- cygwin 输入显示中文
- 解决中文文件名显示乱码的问题
- jsp下显示中文文件名的图片解决办法
- jsp下显示中文文件名的图片解决办法
- 下载显示中文文件名 乱码 Firefox 的解决办法
- unity在webgl端 输入框无法输入中文和中文显示问题的解决
- SecureCRT显示/输入中文的问题
- SecureCRT显示/输入中文的问题
- matplotlib 中文显示问题的解决办法
- Java 应用程序的中文显示及中文输入问题
- 实现CEGUI的中文显示和输入
- ntfs-3g不能正常显示中文文件名的小问题
- 处理下载时候显示文件名中有中文的问题
- ubuntu server使用pycharm中文显示和中文输入的
- 32位cloud compare编译
- How to use sessions
- Web.config配置文件详解
- Directx Sample Browser中的DXUT例子Failed Creating Direct3d Device 的解决方案
- 第二天HelloWorld讲解和核心类
- Cygwin的中文文件名显示和中文输入问题的解决办法
- SQL调用自定义模型里的信息
- 一元二次方程求解
- php路径问题
- 关于Android手机应用中如何调用手机震动
- 1.Objective C类方法load和initialize的区别
- 第9周项目4-我的小九九
- admin5的评论效果正式发布
- (一)MySQL_编译安装