在 Ubuntu 上使用 telnet 出现乱码,通常不是 telnet 本身的问题,而是字符编码不一致或终端类型不匹配导致的。下面按常见原因给你一套排查和解决办法。
locale
一般应该是:
LANG=zh_CN.UTF-8
如果不是 UTF-8,可临时设置:
export LANG=zh_CN.UTF-8
本地终端需要支持 GBK:
export LANG=zh_CN.GBK
telnet xxx.xxx.xxx.xxx
或使用 luit 做编码转换(推荐):
luit -encoding gbk telnet 192.168.1.1
如果没装 luit:
sudo apt install luit
telnet 前设置:
export TERM=xterm
或
export TERM=vt100
然后:
telnet ip
ssh(不乱码、安全)ssh user@host
screen + telnetscreen telnet 192.168.1.1
如果你是:
在 Ubuntu 上:
export LANG=zh_CN.UTF-8
Windows 终端用 Windows Terminal 或 PuTTY(选 UTF-8)
| 情况 | 可能原因 |
|---|---|
| 全是方块/问号 | 编码不对 |
| 中文变拼音样 | GBK ↔ UTF-8 |
| 界面错位 | TERM 不对 |
| 仅旧设备乱码 | 老系统 GBK |
如果你愿意,可以告诉我:
我可以直接给你精确命令。