MobaXterm 中文显示乱码解决
在使用 SSH 连接 Linux 服务器时,看到 "锟斤拷" 或 "?" 占位符?这是典型的字符集编码不匹配问题。通过以下三个步骤,彻底告别中文乱码。
问题诊断:你看到的是哪种乱码?
场景 A 终端字符显示异常
文件夹名、文件名显示为问号或奇怪的符号组合。
$ls -l
drwxr-xr-x 2 user user 4096 Oct 10 ??_???.doc
-rw-r--r-- 1 user user 1024 Oct 10 锘挎枃浠
场景 B VIM 编辑器乱码
在编辑文本文件时,内容无法识别,保存后文件损坏。
$vim config.txt
~ [乱码内容] 锟斤拷 010101
# 提示:通常是 UTF-8 编码未启用
核心解决方案
按照顺序检查,99% 的乱码问题都能解决
修改全局终端编码
最常见的原因是 MobaXterm 默认使用了 ISO-8859-1 或 GBK,而现代 Linux 统一使用 UTF-8。
- 点击顶部菜单 Settings -> Configuration
- 切换到 Terminal 选项卡
- 在 Terminal features 下找到 Charset
- 下拉选择 UTF-8 (unicode)
会话独立编码设置
如果全局设置无效,可能是特定 SSH 会话覆盖了全局配置。
- 右键点击左侧会话列表中的服务器
- 选择 Edit session
- 进入 Terminal settings 标签页
- 确保 Character set 设置为 UTF-8
- 点击 OK 并重新连接
服务器端 Locale 校验
如果客户端设置正确仍乱码,请检查服务器环境变量。
$export LANG=en_US.UTF-8
$locale
LANG=en_US.UTF-8 (确认中...)
提示:编辑 ~/.bashrc 添加上述 export 命令可持久生效。
💡 专业提示: 如果你是从老旧的 Windows 服务器(如 Windows Server 2026)远程连接,可能需要将编码设为 GBK 或 GB2312 才能正常显示。