在 Linux 下使用 SecureCRT 连接远程主机时,如果出现中文乱码,通常是因为 终端编码 和 远程系统编码 不一致。一般建议统一为 UTF-8。
下面按常见方式说明如何设置。
Options(选项) → Session Options(会话选项)
Terminal(终端) → Appearance(外观)
UTF-8
如果你经常用 SecureCRT:
Options → Global Options(全局选项)
Terminal → Appearance
Character encoding = UTF-8
SecureCRT 设置 UTF-8 后,还要确保 Linux 本身支持。
locale
正常应类似:
LANG=zh_CN.UTF-8
LC_ALL=zh_CN.UTF-8
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
localedef -i zh_CN -f UTF-8 zh_CN.UTF-8
编辑:
vi /etc/locale.conf
内容:
LANG=zh_CN.UTF-8
在 SecureCRT:
Session Options → Terminal → Appearance → Font
选择支持中文的字体,例如:
| 现象 | 原因 |
|---|---|
| 中文乱码 | SecureCRT 非 UTF-8 |
| 输入中文变问号 | 服务器 LANG 不对 |
| 只 SecureCRT 乱码 | 编码设错 |
| vi 中文乱码 | 文件非 UTF-8 |
如果你告诉我:
我可以给你更精确的设置。