中文乱码核心是locale未启用或不匹配,字体仅为渲染环节;须先确认LANG为zh_CN.UTF-8且locale -a有输出,再安装中文字体并刷新fontconfig缓存,同时确保SSH及终端客户端设为UTF-8编码。

Linux怎么查看系统安装的语言包

locale -a 能列出所有可用 locale,但不等于已安装语言包

不少人错误地认为,只要在locale -a的输出中看到了zh_CN.UTF-8,就意味着中文语言包已经“安装完毕”。实际上,它仅仅表明该locale已经被生成(即locale-gen已经运行过),但底层所依赖的语言数据(如翻译、时区、货币符号等)却有可能并不存在。真正决定语言包“是否完整安装”的,是系统级语言包本身。

Debian/Ubuntu:用 apt-cache search + dpkg -l 确认 language-pack-zh-hans

在 Ubuntu 或 Debian 上,中文支持由 language-pack-zh-hans(简体)或 language-pack-zh-hant(繁体)提供。仅靠 locale -a | grep zh_CN 不足以判断它是否装好。

RHEL/CentOS/Rocky/AlmaLinux:yum/dnf groupinfo “Chinese Support” 是关键

Red Hat 系发行版把语言支持打包成“group”,不是单个 RPM。直接 rpm -qa | grep chinese 很容易漏掉,因为核心文件分散在多个子包里。

终端乱码不是语言包没装,而是 SSH 或本地终端编码不匹配

即使 locale 显示 LANG=zh_CN.UTF-8locale -adpkg -l 都正常,终端仍显示方块或问号,大概率是客户端编码没对齐。

本文转载于:https://www.php.cn/faq/3025852.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。