在 CentOS(及其他 Linux 发行版)中,反引号(`)本身不会“乱码”,所谓“乱码”通常是字符编码、终端、字体或输入法问题导致的。下面按常见原因逐一说明:
如果 系统 / SSH 客户端 / 终端 编码不一致,反引号可能显示为乱码。
✅ 解决:
# 查看当前编码
echo $LANG
# 推荐设置为 UTF-8
export LANG=en_US.UTF-8
# 或
export LANG=zh_CN.UTF-8
SSH 客户端(如 Xshell、SecureCRT、PuTTY):
某些老字体或“中文点阵字体”会:
✅ 解决:
在中文输入法下敲 `,可能输入的是:
✅ 解决:
如果你在脚本或配置文件中看到乱码:
file yourfile.sh
✅ 转换编码:
iconv -f GBK -t UTF-8 yourfile.sh -o newfile.sh
极少数情况:
$LANG 为空✅ 检查:
locale
✅ 生成 locale(CentOS):
localedef -i zh_CN -f UTF-8 zh_CN.UTF-8
反引号用于命令替换(不推荐新代码使用):
echo `date`
✅ 更推荐:
echo $(date)
| 检查项 | 命令 |
|---|---|
| 当前编码 | echo $LANG |
| 终端字体 | 设置为 UTF-8 + 等宽 |
| 输入法 | 英文输入 |
| 文件编码 | file 文件名 |
如果你愿意,可以:
我可以更精准地帮你定位问题。