在中文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