在中文windows上,使用securecrt ssh FC, ubuntu等 2.6 kenerl 的linux,编译和man的时候,经常会出现乱码。这个问题困扰了我好久。
昨天晚上才发现,2.6 kernel的ssh默认编码是UTF 8,将securecrt的编码也改成UTF 8,嗯,问题解决了。
修改方法:
Options -> Session Options -> Apperance -> Fonts -> Character。写下来发现,SecureCRT的配置真是折腾人阿。
++++++++++++++++++++++++++++++++
一直以来,我的secureCRT设置都还算好看,字体大小合适,颜色都有。
用起来也挺分别顺手,就是有一个很致命的毛病:
文字copy总是会出现乱码。
比如:声声醉如兰 五个字符,copy出来粘贴到记事本上,就成了“ÉùÉù×íÈçÀ¼”。
从SecureCRT复制到SecureCRT也是乱码。
同事那就没有这个问题,用得好好得。
可能是我们的设置不大一样。
对比了一下区别,有这样几个地方:
1,Emulation
Terminal 选择的是Linux,并且选中“ANSI Color”
2,Appearance
Font 选择的是vt100 12pt
没有选中“Use Unicode line drawing characters”
在Character 选择的Default,不知道和这有没有关系。
另外,在linux系统中,LANG环境变量设置的是:zh_CN.gb2312,他们是:en_US
于是,我就把这几个因素综合起来考虑,改来改去。
也算运气好,在别人提示下,总算找到了一个正确的设置。
再仔细的分析下去,发现问题出在了字体上面。
我原来用的是vt100 12pt,SecureCRT默认安装设置的这个字体。
尝试了几个常用字体,发现有的会程序乱码,有的不会出现。
不会有乱码的是:fixedsys,新宋体,宋体
会出现乱码的是:vt100,courier,courier new
乱码的原因没有找到,猜测是编码的问题。
如果你也出现乱码,建议把字体换换。还成fixedsys吧。
有个无聊的情况就是,在替换的时候,有可能还是乱码,但坚持换几次,
就会正常。绝对让人莫名其妙。
结论:
最大的废话是:我也没有找到具体原因是什么。
不过呢,可能性最大的是字体。因为用fixedsys字体不会有乱码问题,而用vt100就可能会有哦。
characer的编码设置是否有关系,暂时不大清楚。设置成default应该没有问题。
和服务器端的环境变量应该也没有什么关系。
比如:LANG为 zh_CN.gb2312 或者 en_US.UTF-8,都可以的。
和vim的编码设置应该也没有关系。
和终端设置也没有关系,选择linux或者vt100或者xterm都不会出现乱码。
----------------------------
现在说说secureCRT的设置
字体:
建议用fixedsys,这个字体虽然不是最美丽的,但在终端上也是一个不错选择,大家都可以接受。
选择它,主要是因为它大小固定,在所有地方显示,效果都一样。
大家都知道,如果有人把tab设置成4个空格,有人设置成8个,那么同样一个程序,本来很美观的一个程序,到别人电脑上就不美观了。
同样,如果字体大小设置得不一致,也会出现这种问题。
所以,我一般都建议大家把字体设置成统一的fixedsys。
Linux终端是有颜色的。
vim也是可以打开颜色的。
为什么很多人都不喜欢把两者的颜色打开呢。
secureCRT设置:
Terminal ->Emulation ->ANSI Color 选中就可以了。
========================华丽的分割线===============================
最近在公司装了一个fadora的linux。安装了vim7.2发先输入的中文都是乱码。(此vim源码包在另外一台centos上正常)
环境如下:
declare -x LANG="zh_CN.UTF-8"
declare -x LANGUAGE="zh_CN:zh"
declare -x LC_ALL="zh_CN.UTF-8"
在系统里面可以看到中文,用/bin/vi打开文件可以使用中文。
--------------------------------
但是用我编译的vim打开文件输入就是看不懂的utf8编码,cat filename 也可以到到我写的中文。
所以得出结论是vim本身的问题。经查找vim6.4手册得出结论:
备注:
只有当多种语言支持被编译进 Vim 时,你才可能用它来编辑各种不同的语言。
要找出 Vim 是否支持多语种,看一下 ":version" 命令的输出中有没有
"+gettext" 和 "+multi_lang"。如果有的话,表示应该没问题了。如果你看到
"-gettext" 或者 "-multi_lang" 的话你得重找一个 Vim。
备注:
只有对不同编码格式的支持被编译进 Vim 时这些才有效。检查一下看看
":version" 命令的输出。如果包括 "+multi_byte" 就没有问题,如果你看到
"-multi_byte" 那你就得找另外一个 Vim。
经过比较我的version发现全是-
那么按照上面的情况分别解决:
1、先解决-gettext的问题:
yum install gettext 一般linux都能搞定。
另外我也试了源代码编译的方式。
2、解决-multi_byte的问题。
查看vim的编译选项部分如下:
--------------------------------
./configure --help|grep enable
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-mzschemeinterp Include MzScheme interpreter.
--enable-perlinterp Include Perl interpreter.
--enable-pythoninterp Include Python interpreter.
--enable-tclinterp Include Tcl interpreter.
--enable-rubyinterp Include Ruby interpreter.
--enable-cscope Include cscope interface.
--enable-workshop Include Sun Visual Workshop support.
--enable-sniff Include Sniff interface.
--enable-multibyte Include multibyte editing support.
--enable-hangulinput Include Hangul input support.
--enable-xim Include XIM input support.
--enable-fontset Include X fontset output support.
--enable-gui=OPTS X11 GUI default=auto OPTS=auto/no/gtk/gtk2/gnome/gnome2/motif/athena/neXtaw/photon/carbon
--enable-gtk-check If auto-select GUI, check for GTK default=yes
--enable-gtk2-check If GTK GUI, check for GTK+ 2 default=yes
--enable-gnome-check If GTK GUI, check for GNOME default=no
--enable-motif-check If auto-select GUI, check for Motif default=yes
--enable-athena-check If auto-select GUI, check for Athena default=yes
--enable-nextaw-check If auto-select GUI, check for neXtaw default=yes
--enable-carbon-check If auto-select GUI, check for Carbon default=yes
--------------------------------
通过上面我们看出来enable里面根本没有gettext这个选项可以让我们打开
备注:
./configure --help|grep gettext
--disable-nls Don't support NLS (gettext()).
但是我们看到了上面红色部分的选项。嘿嘿。就试试他。
./configure --enable-multibyte
make (此处我们看到输出提示说不需要nls库,还在试图移除这个库,困惑中,不管了,先继续)
make install
----------------------
vim a
:lang
输出:Current language: "LC_CTYPE=zh_CN.UTF-8;LC_NUMERIC=C;LC_TIME=zh_CN.UTF-8;LC_COLLATE=zh_CN.UTF-8;LC_MONETARY=zh_CN.UTF-8;LC_MESSAGES=zh_CN.UTF-8;LC_PAPER=zh_C
N.UTF-8;LC_NAME=zh_CN.UTF-8;LC_ADDRESS=zh_CN.UTF-8;LC_TELEPHONE=zh_CN.UTF-8;LC_MEASUREMENT=zh_CN.UTF-8;LC_IDENTIFICATION=zh_CN.UTF-8"
哈哈:终于成功了。搞定!
linked from: http://blog.sina.com.cn/s/blog_51294ca50100hzv7.html