结合 windows ssh 搭建,你会知道更多

[转] 配置cygwin下中文支持

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://fangsblog.blogbus.com/logs/4787655.html

配置cygwin来支持中文

http://my.opera.com/render/blog/show.dml/369483

Site From: http://ergophile.bokee.com/1145741.html

Cygwin中文How-to- -

I googled it.

http://www.linuxeden.com/forum/blog/index.php?op=ViewArticle&articleId=567&blogId=110848

bamanzi | 28 九月, 2004 22:14

大致写了一下,有待补充。
本来一年前就打算写的,但后来觉得老黄写更合适,但这家伙似乎只对代码有兴趣,总不写文档。

终端

locale支持

Cygwin的locale支持一直都不太好,采用zh_CN.gb2312好像问题很多,我一直采用的是zh_CN.gbk
~/.bashrc
LC_CTYPE=zh_CN.gbk
CHARSET=GBK #(glib2需要使用找个环境变量确定文件名的编码)
export LC_CTYPE CHARSET

一些小问题

允许bash输入、输出中文字符
~/.inputrc
set convert-meta off
set input-meta on
set output-meta on

ls显示中文文件名(而不是一堆问号)
alias ls="/bin/ls --show-control-chars"

less浏览中文文件
less --raw-control-chars
另外LESSCHARSET环境变量也很有用

X下的中文支持

locale支持

Cygwin的locale支持一直都有问题,好在X程序还可以使用XLOCALE。
建议还是使用zh_CN.gbk, 不要使用zh_CN.GB2312

在移植程序时需要注意不要让程序连接libcygwin.a里面的setlocale,而是采用libX11.a里面的_Xsetlocale。方法是:检查被移植程序的全部源代码,发现

#include 
就修改为
#define X_LOCALE
#include 
同时注意程序的连接库要添加-lX11.
如果对于结果没有把握,可以找个Dependency Walker查看程序是否连接到了cygwin1.dll里面的setlocale,如果是,就说明有遗漏。

中文字体

PCF点阵字体
GTK1.x 和其他一些老的X程序都是用X字体,

注意必须要有编码与locale一致的字体,比如用zh_CN.gbk就必须要由GBK编码的字体,用zh_CN.GB2312就必须要有GB2312编码的字体

如果使用zh_CN.GB2312,这里有一个RedOffice面带的点阵字体包

可以采用ttf2bdf从TTF抽取得到bdf格式,然后再用bdf2pcf得到pcf格式的字体文件。
(这里有一个Windows版本的TTF2BDF,可以将Windows TTF字体转换出BDF字体, 注意得到bdf后要手工编辑一下文件头,将编码声明修改正确)

得 到字体之后,放到某个目录下,执行mkfontdir生成fonts.dir,然后用xset +fp /path/to/your/fonts将字体路径加入即可(注意与fontconfig的配置不同,这里路径是不递归的,如果有的字体放在子目录里面, 子目录也需要添加进去才行)。

TTF字体
很多新的应用程序(比如GTK2)都使用fontconfig/libxft2来显示字体,它对TTF字体的支持比较好(X以前通过freetype, xft模块也支持TTF字体,但对中日韩字体的支持不是太好,而且也在Cygwin下似乎也没有这些模块)

完全可以使用Linux下的arphic字体包. 如果没有安装Linux,可以到http://packages.debian.org下载相应的包,然后用7zip解压提取出ttf文件。

得到字体文件之后,放到某个目录之下,编辑/etc/fonts/local.conf,将字体路径加入:

/path/to/my/ttf/fonts如果只是自己使用,可以将字体文件放到~/.fonts下,不需要修改任何配置,最多三十秒fontconfig就能够发现这些字体了。

中文输入法

老黄(hzhr)移植了miniChinput到Cygwin,我也移植了fcitx-1.8.5和3.0,均可以从我的网站上找到 http://www.oliwen.com/bamanzi/cygwin/chinese/

一般设置了LC_CTYPE和XMODIFIERS就可以在程序中激活输入输入法了(除非这个程序没有XIM支持):

LC_CTYPE=zh_CN.gbk
XMODIFIERS="@im=Chinput"
export LC_CTYPE XMODIFIERS

对于fcitx而言,XMODIFIERS设置为什么都可以(但必须要设置),所以设置为"@im=Chinput"的话chinput和fcitx都可以正常使用

本文转自博客园刘凯毅的博客,原文链接:cygwin 解决 乱码问题 (转),如需转载请自行联系原博主。

cygwin 解决 乱码问题 (转)相关推荐

  1. Cygwin的中文支持(解决乱码)

    Cygwin的中文支持(解决乱码) 关键字: cygwin 中文 乱码 最近我在Cygwin中学习使用Linux的命令,但当进入Windows目录的时候看到所有中文文件都变成了"?????& ...

  2. smartupload 上传文件时 把页面编码改成gbk 解决乱码

    快来java1234 吧 smartupload 上传文件时,经常会发生因为把表单设置为 enctype="multipart/form-data"而出现的中文乱码问题,本人头疼好 ...

  3. vue2.0通过Axios导出excel文件(解决乱码问题)

    vue2.0通过Axios导出excel文件(解决乱码问题) 参考文章: (1)vue2.0通过Axios导出excel文件(解决乱码问题) (2)https://www.cnblogs.com/ad ...

  4. 请求处理传入原生的API || 请求处理CharacterEncodingFilter解决乱码问题

    请求处理传入原生的API 请求处理CharacterEncodingFilter解决乱码问题 提交的数据可能有乱码: <!-- 配置一个字符编码的Filter:一定注意:字符编码filter一般 ...

  5. 图形化mysql出现乱码_关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)...

    最近两天做项目总是被乱码问题困扰着,这不刚把mysql中文乱码问题解决了,下面小编把我的解决方案分享给大家,供大家参考,也方便以后自己查阅. 首先: 用show variables like &quo ...

  6. Node响应中文时解决乱码问题

    场景 在使用node响应英文时可以在app.js中这样写 //代码块: node-http-server//表示引入http模块 var http = require('http'); /*reque ...

  7. window安装mysql5.7解压版(解决乱码问题)

    ♣安装mysql两种方法 ♣下载mysql5.7解压版 ♣配置步骤 ♣解决服务无法启动 ♣解决乱码 1.安装mysql两种方法 MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的.如果 ...

  8. 初识 JSP---(Servlet映射 / ServletRequest / get与post区别 / 解决乱码)

    Servlet映射的细节 同一个Servlet映射多个URL上,即多个<Servlet-mapping>元素的<servlet-name>子元素的设置值可以是同一个Servle ...

  9. inputstream读取html乱码,java InputStream 读取汉语言内容的解决乱码

    java InputStream 读取中文内容的解决乱码 String suffix=file.substring(file.lastIndexOf('.')+1,file.length()); if ...

最新文章

  1. 深度学习在不同领域的应用,我去,这也行!?
  2. 在word、excel中如果运用VBA进行编程?
  3. 秉承着一位代码艺术家的分享精神
  4. CSS如何修改placeholder样式
  5. python web为什么不火-编程语言里的明星:Python为什么突然不火了?
  6. 在linux下实现拓扑排序,数据结构——有向图(拓扑排序算法)
  7. Linux中kill,pkill,killall和xkill命令汇总讲解
  8. python中字符串运算符及用法_python将字符串转换为运算符
  9. [LeetCode][JavaScript]Invert Binary Tree 反转二叉树
  10. 类继承、组合和抽象类
  11. 镁光ssd管理工具 linux,镁光C400固态硬盘08TH固件及升级软件
  12. 从字符串数组中把数字的元素找出来
  13. Mac怎么合并文件夹
  14. 从业务到技术weibo link card快速接入思考-2014.09.20
  15. c51单片机音乐门铃C语言程序,51单片机音乐门铃的设计
  16. Ubuntu 安装中文字体
  17. # D - Staircase Sequences
  18. ‘数据分析实战’——战略分析案例(某购物商城分析案例)
  19. cesium模型不遮挡点线面_cesium 学习(八) 基础绘制(点线面)
  20. 时间都去哪了--你统计过你每天花在手机上的时间么?

热门文章

  1. android 溢出按钮,React-Native封裝Tabbar 實現中間按鈕溢出效果(Android/iOS)
  2. 快速排序图解_排序算法
  3. Linux版本跟Hadoop版本,Hadoop本地库与系统版本不一致引起的错误解决方法
  4. cpio备份linux系统,linux cpio 备份命令
  5. 元胞计算机系统,元胞自动机
  6. Web 浏览器相关的一些概念
  7. linux磁盘配额测试,linux磁盘配额练习题
  8. java scanner 回车_Java Scanner类用法及nextLine()产生的换行符问题实例分析
  9. 20210426:力扣第238周周赛(上)
  10. mysql数据库永久链接_PHP使用数据库永久连接方式(mysql_pconnect)操作MySQL的是与非...