Secure CRT 亂碼 問題

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章