cygwin\home\username\.bashrc

# 让ls和dir命令显示中文和颜色 
alias ls='ls --show-control-chars --color' 
alias dir='dir -N --color' 
# 设置为中文环境,使提示成为中文 
export LANG="zh_CN.GBK" 
# 输出为中文编码 
export OUTPUT_CHARSET="GBK"

cygwin\home\username\.inputrc

# 可以输入中文 
set meta-flag on 
set output-meta on 
set convert-meta off 
# 忽略大小写 
set completion-ignore-case on

, cygwin.bat:

@ECHO OFF 
SET MAKE_MODE=UNIX 
SET PATH=d:\cygwin\bin;%PATH% 
set HOME=d:\home 
bash

2, 在~目录下的.bashrc文件中加入:

# 让ls和dir命令显示中文和颜色 
alias dir='dir -N --color' 
alias less='/bin/less -r' 
alias ls='/bin/ls -F --color=tty --show-control-chars' 
# 设置为中文环境,使提示成为中文 
export LANG="zh_CN.GB2312" 
# 输出为中文编码 
export OUTPUT_CHARSET="GB2312"

3,bash将到D:\home目录下寻找初始化文件。 缺省情况下,bash命令行不能输入汉字,必须在~目录下建立文件.inputrc,内容如下: 
# 忽略大小写 
set completion-ignore-case on 
# 可以输入中文 
set convert-meta off 
set input-meta on 
set output-meta on

跟emacs存在同样的问题,就是显示不了uft8编码下的汉字

Cygwin工具是GNU工具在WIN32平台上的移植版本,它尽可能地遵循POSIX标准。其中包括C/C++编译器GCC,textutils,fileutils,bash等等。本文将阐述如何在Cygwin(B20)中使用中文。

Cygwin通过cygnus.bat(位于X:\cygnus\cygwin-b20)启动bash,内容如下: @ECHO OFF
SET MAKE_MODE=UNIX
SET PATH=c:\cygnus\CYGWIN~1\H-I586~1\bin;%PATH%
bash

在其中加入(bash之前)一句: set HOME=X:\homename

X:为盘符,\homename为已存在的目录名,例如C:\myHome。bash将到X:\homename目录下寻找初始化文件。 缺省情况下,bash命令行不能输入汉字,必须在X:\homename目录下建立文件.inputrc,内容如下: set meta-flag on
set convert-meta off
set output-meta on这几行主要是实现命令行上实现汉字的输入以及显示。 比如想输入汉字的文件名等等。

注意:在Cygwin-B20中.inputrc必须为UN*X文件格式。
bash在Windows 9X中不能接受来自DOS窗口的汉字输入。

为了让less命令显示汉字在X:\homename\.bashrc中加入: export LESSCHARSET=latin1

为了让ls命令显示汉字文件和目录名在X:\homename\.bashrc中加入: alias ls='ls -N --color'

#====================================.bashrc 2009-10-09 cygwin 1.70==================================
# Shell Options
# #############

alias ls='ls -hF --color=tty' # classify files in colour
alias dir='ls --color=auto --format=vertical'
alias vdir='ls --color=auto --format=long'
alias ll='ls -l' # long list
alias la='ls -A' # all but . and ..
alias l='ls -CF' #

# Some example functions
# function settitle() { echo -n "^[]2;$@^G^[]1;$@^G"; }

###################### 以下为添加部分 ################################
# cygwin中取\usr\share\locale\zh_CN\LC_MESSAGES中*.mo文件,如果提示信息中
# 的字符集为utf8则会显示有误(不知何解?,magiclinux无类似情况),为gb2312
# 则正常,大概与gettext这个模块有关,这个模块的作用是使linux程序提示信息
# 区域话,即不同地区用不同语言,即常说的i18n;像我们设置的zh_CN.GBK,“.”
# 之前部分“zh_CN”表示地区即“中国大陆”,后面部分“GBK”表示字符集编码,
# 像我们下面的设置,当程序调用时会到\usr\share\locale\目录中查找,发现地
# 区为“zh_CN”则到该目录中查找程序对应的*.mo文件,*.mo文件的名称是在调用
# 的程序中设置了的。然后取该语种的对应提示,然后按编码(在mo文件中指明了)
# 处理该文字。
# 当然这些不是自动处理的,要在程序中调用像setlocale、textdomian、gettext
# 这样的函数处理。
# 在cygwin中有些程序,做了下面的设置,因为对应的mo文件中编码为utf8而无法
# 显示,我是直接将它删除,之后程序会因为找不到mo文件而用默认的英文来显示
# 的。(下面的编码设置并没有错,应该是cygwin程序中的BUG,只是设置了LC_ALL
# 就没必要设LANG了,有的文档上面这样写的:))

export set LC_ALL=zh_CN.GBK
export set LANG=zh_CN.GBK
#export set LC_CTYPE=zh_CN.UTF-8
#export set CHARSET=UTF-8
#==================================== bashrc end ==================================

#==================================== .inputrc ==================================

# 控制输入输出的文件 jiangxf [2009-10-09 星期五]

"\e[3~": delete-char

# VT

"\e[1~": beginning-of-line

"\e[4~": end-of-line

# kvt

"\e[H": beginning-of-line

"\e[F": end-of-line

# rxvt and konsole (i.e. the KDE-app...)

"\e[7~": beginning-of-line

"\e[8~": end-of-line

# VT220

"\eOH": beginning-of-line

"\eOF": end-of-line

# 关闭bash命令行8字节字符转义符的转换

set convert-meta off

# 使bash命令行支持8字节字符输入

set input-meta on

# 使bash命令行支持8字节字符输出

set output-meta on

如果是命令行的编码不对也要进行更改
更改方法如下

这个是cmd窗口属性的问题。
要修改注册表才能解 决问题:
有两种方法,第二种比较简单。

方法一:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]
"CodePage"=dword:000003a8

小说明一下:
十六进制"000003a8"或十进制"936",表示“936 (ANSI/OEM - 简体中文 GBK)”。
十 六进制"000001b5"或十进制"437",表示“437 (OEM - 美国)

方法二:

同时使用:
[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]
在 注册表里面这个东西估计是运行过英文环境的程序导致的。
删掉这个注册表,cmd就回到中文环境了。

cygwin设置中文的更多相关文章

  1. Eclipse中文语言包安装和设置中文Doc

    1.安装中文语言包 Eclipse所有的扩展功能都是以插件的形式添加上去的,安装插件时有多种形式,下面是比较常用的两种: 直接将插件中的文件复制到Eclipse对于的目录中.优点是安装时很方便,缺点是 ...

  2. SecureCRT和SecureFx设置中文乱码

    SecureCRT和SecureFx设置中文乱码 SecureCRT和SecureFx连接服务器时中文显示乱码,找了好多资料好久都没整出来,后来整出来了,因此把个人的解决办法提供出来,已变帮助更多的人 ...

  3. eclipse中设置中文javadoc+如何查看class的中文javadoc

    一.  eclipse中设置中文javadoc 1.先到http://download.java.net/jdk/jdk-api-localizations/jdk-api-zh-cn/publish ...

  4. Ubuntu设置中文

    Ubuntu设置中文:需要联网下载中文包,不然无法设置中文系统. 进去系统后再右上角有个齿轮图标点击,找到系统设置(System Settings)点击弹出一个界面,找到Language Suppor ...

  5. 在Ubuntu中设置中文输入法

    在Ubuntu中设置中文输入法 */--> pre { background-color: #2f4f4f;line-height: 1.6; FONT: 10.5pt Consola,&quo ...

  6. Debian 7.1设置中文环境

    之前在Chinaunix上看过一个人写过博客,是关于介绍Debian设置中文环境的,在这里我针对Debian 7来补全一下. Debian是非常经典而优秀的Linux发行版了,Debian是个很大的家 ...

  7. pycharm(windows)安装及其设置中文菜单

    pycharm(windows)安装及其设置中文菜单 1.下载 在官网(http://www.jetbrains.com/pycharm/download/#section=windows)进行下载 ...

  8. centos7添加图像化桌面并设置中文

    我前面是使用的centos6.最近才最小化安装了一个centos7.4(最小化安装有很多命令都没有,所以不建议这样干).完了装了图形化界面和设置中文,感觉和centos6有些区别,所以记录一下过程. ...

  9. xcode6.1 设置中文输入

    XCode6.1中设置中文输入方法:Product->scheme->Edit Scheme->Options->Application Region->中国 ios 模 ...

随机推荐

  1. 在C#中IEnumerable与IEnumerator

    对于很多刚开始学习C#同学来说经常会遇到IEnumerable这个关键字,enumerate在字典里的解释是列举,枚举,因此可想而知这个关键字肯定是和列举数据有关的操作. public interfa ...

  2. Spring核心框架 - AOP的原理及源码解析

    一.AOP的体系结构 如下图所示:(引自AOP联盟) 层次3语言和开发环境:基础是指待增加对象或者目标对象:切面通常包括对于基础的增加应用:配置是指AOP体系中提供的配置环境或者编织配置,通过该配置A ...

  3. Python中替换元素

    假设现在班里仍然是3名同学: >>> L = ['Adam', 'Lisa', 'Bart'] 现在,Bart同学要转学走了,碰巧来了一个Paul同学,要更新班级成员名单,我们可以先 ...

  4. android apk 反编译

    Apk文件结构 apk文件实际是一个zip压缩包,可以通过解压缩工具解开.以下是我们用zip解开helloworld.apk文件后看到的内容.可以看到其结构跟新建立的工程结构有些类似. java代码: ...

  5. zepto源码学习-03 $()

    在第一篇的时候提到过关于$()的用法,一个接口有很多重载,用法有很多种,总结了下,大概有一以下几种 1.$(selector,context?) 传入一个选择器返回一个zepto对象 2.$(func ...

  6. ANDROID_MARS学习笔记_S01原始版_016_Service

    一.代码1.xml(1)main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayo ...

  7. ruby 方法重载

    class MyClass def sayHello return "hello from MyClass" end def sayGoodbye return "Goo ...

  8. linux移植简介[MS2]

    一:修改Makefile 1添加编译选项,2添加时钟 二:图形化配置(make menuconfig) 此时生成zlmage,  可以跑起来 三:对NandFlash配置,yaffs2 文件系统配置, ...

  9. insmod: error inserting 'simp-blkdev.ko': -1 Invalid module format

    (一) 今天写了个块设备驱动例子,在虚拟机上加载模块insmod simp_blkdev.ko的时候,出现以下错误. insmod: error inserting 'simple-blk.ko': ...

  10. OLEDB和ODBC的区别(优缺点)

    ODBC是一种连接数据库的开放标准,OLEDB(对象链接和嵌入数据库)位于ODBC层与应用程序之间. 在你的ASP页面里,ADO是位于OLEDB之上的应用程序. 你的ADO调用先被送到OLEDB,然后 ...