最近在做系統轉碼,結果使用了secureCRT連線使用vi後,使用root登入使用vi卻都正常,換成user登入會發現,
在控制列使用控制命令時(ex: i (insert)),
都會有亂碼跑出來,找了好久問題終於發現是linux locate 中的編碼與secureCRT編碼設定不同,
linux上root的locale:
[root~]# locale
LANG=en_US.utf8
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=
user的locale:
[root~]$ locale
LANG=en_US.utf8
LC_CTYPE="zh_TW.big5"
LC_NUMERIC="zh_TW.big5"
LC_TIME="zh_TW.big5"
LC_COLLATE="zh_TW.big5"
LC_MONETARY="zh_TW.big5"
LC_MESSAGES="zh_TW.big5"
LC_PAPER="zh_TW.big5"
LC_NAME="zh_TW.big5"
LC_ADDRESS="zh_TW.big5"
LC_TELEPHONE="zh_TW.big5"
LC_MEASUREMENT="zh_TW.big5"
LC_IDENTIFICATION="zh_TW.big5"
LC_ALL=zh_TW.big5
所以來檢查一下secureCRT的設定吧
這邊原來是設定成UTF8,把它改成 ANSI/OEM 繁體中文
就解決問題了。
而且root、user的vi也都正常可以使用
目前是覺得應該utf8的root,可以相容於ANSI/OEM 繁體中文 的編碼設定。