Linux 下使用 telnet 出现乱码,通常是因为字符编码不一致或终端类型不匹配。下面按常见原因和解决方法说明:
export LANG=zh_CN.GBK
或
export LC_ALL=zh_CN.GBK
然后重新 telnet。
export LANG=en_US.UTF-8
# 或
export LANG=zh_CN.UTF-8
luitluit -encoding GBK telnet ip port
xterm 或 vt100linux 或其他类型export TERM=linux
或
export TERM=xterm
也可以在 telnet 里:
telnet
set term linux
open ip
Telnet 协议不传输编码信息
所以:
✅ 建议替代方案
ssh user@host
或
socat -,raw,echo=0 tcp:host:port
很多:
它们基本只用 GBK / CP936
echo $LANG
echo $TERM
locale
如果看到:
UTF-8 + 老设备 → 乱码正常TERM=unknown → 改 TERMTelnet 乱码 99% 是编码或终端类型不一致,不是网络问题。
如果你愿意,可以告诉我:
我可以给你精确命令。