温馨提示×

Linux SecureCRT为何乱码

小樊
42
2026-07-23 03:39:12
栏目: 智能运维

在 Linux 下使用 SecureCRT 出现乱码,通常不是 SecureCRT 本身坏了,而是 字符编码不一致终端类型不匹配 导致的。下面按最常见原因给你排查思路。


一、最常见原因:字符编码不一致

1️⃣ SecureCRT 编码设置不对

Linux 服务器默认一般是 UTF-8,而 SecureCRT 默认可能是 GBK

解决方法:

  1. 打开 SecureCRT
  2. 进入
    Options → Session Options → Terminal → Appearance
  3. 找到 Character encoding
  4. 修改为: ✅ UTF-8

这是 90% 乱码问题 的原因。


二、Linux 服务器编码问题

确认服务器字符集:

locale

正常应为:

LANG=en_US.UTF-8
# 或
LANG=zh_CN.UTF-8

如果是:

LANG=C
LANG=POSIX

或 GBK,就可能乱码。

临时解决

export LANG=zh_CN.UTF-8

永久解决(推荐)

编辑:

vim ~/.bashrc

加入:

export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8

然后:

source ~/.bashrc

三、终端类型(TERM)设置错误

SecureCRT 默认终端类型可能是 vt100,部分 Linux 程序显示异常。

建议设置

  1. Session Options → Terminal
  2. Terminal type 改为: ✅ xtermlinux

推荐:

xterm

四、字体不支持中文

即使编码正确,字体不支持中文也会显示为方块。

解决

  1. Session Options → Terminal → Font
  2. 选择支持中文的字体,例如:
    • Monospace
    • DejaVu Sans Mono
    • Noto Sans Mono CJK

五、文件 / 日志本身是 GBK

有些老系统、老日志是 GBK 编码,在 UTF-8 终端下会乱码。

查看文件编码

file filename

转换编码

iconv -f gbk -t utf-8 filename -o newfile

六、rz / sz / vim 乱码(常见场景)

vim 中文乱码

vim ~/.vimrc

加入:

set encoding=utf-8
set fileencodings=utf-8,gbk

七、快速自检清单 ✅

项目 建议值
SecureCRT 编码 UTF-8
Linux LANG zh_CN.UTF-8
TERM xterm
字体 支持中文的等宽字体
文件编码 UTF-8

八、一句话总结

SecureCRT 乱码 99% 是编码问题,先改 SecureCRT 的字符编码为 UTF-8,再确认服务器的 LANG 是 UTF-8。

如果你愿意,可以把以下信息发我,我可以精准定位:

  • SecureCRT 版本
  • Linux 发行版
  • locale 输出
  • 乱码截图或示例字符

0