在 Linux 下使用 SecureCRT 出现乱码,通常不是 Linux 本身的问题,而是 SecureCRT 的字符编码设置 和 Linux 系统的语言环境不一致 导致的。下面按常见原因+解决办法说明:
解决方法:
Options(选项) → Session Options(会话选项)Terminal(终端) → Appearance(外观)UTF-8
✅ 这是 90% 乱码问题的根源
在 Linux 终端执行:
locale
如果看到类似:
LANG=C
LC_CTYPE="POSIX"
说明不是 UTF-8。
解决方法(临时):
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
永久生效(推荐):
sudo localectl set-locale LANG=zh_CN.UTF-8
或修改:
/etc/locale.conf
LANG=zh_CN.UTF-8
即使编码对了,字体不对也会乱码。
解决:
DejaVu Sans MonoCourier Newvim ~/.vimrc
加入:
set encoding=utf-8
set fileencodings=utf-8,gbk,gb18030
export LESSCHARSET=utf-8
iconv 转换:iconv -f gbk -t utf-8 file.txt > new.txt
| 检查项 | 正确值 |
|---|---|
| SecureCRT 编码 | UTF-8 |
| Linux LANG | *.UTF-8 |
| 字体 | 支持中文 |
| 文件编码 | UTF-8 |
如果你愿意,可以告诉我:
我可以给你精确配置方案。