1. 字符编码不匹配
当系统字符编码与终端/应用程序的编码不一致时,中文字符会显示为问号。可通过locale
命令检查当前编码设置,确保所有LC_*变量与LANG均设置为zh_CN.UTF-8。
建议修改/etc/locale.conf
文件,添加以下配置后重启系统:
LANG="zh_CN.UTF-8 LC_ALL="zh_CN.UTF-8"
2. 中文字体缺失
CentOS默认未安装完整中文字体包,可通过以下步骤安装:
- 安装基础字体工具:
sudo yum install fontconfig ttmkfdir
- 添加中文字体文件到
/usr/share/fonts/chinese
目录 - 执行字体缓存更新:
fc-cache -fv
sudo yum install fonts-chinese sudo yum groupinstall "Fonts"
3. 环境变量冲突
某些情况下LC_ALL会覆盖其他编码设置,建议:
- 取消LC_ALL变量:
unset LC_ALL
- 在用户配置文件(
~/.bashrc
)中设置:export LANG=zh_CN.UTF-8
4. 终端编码设置
图形化终端需手动调整编码参数:
- 打开终端首选项设置
- 选择「字符编码」为Unicode (UTF-8)
- 禁用「模糊字符宽度」选项
解决中文问号乱码需系统编码、字体支持、终端设置三方面配合。建议优先通过locale
验证编码一致性,再检查字体安装完整性,最后排查终端配置参数。
本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/478743.html
其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。