0

0

Linux怎么解决中文乱码_Linux安装中文字体及语言包【技巧】

穿越時空

穿越時空

发布时间:2026-02-11 13:21:09

|

321人浏览过

|

来源于php中文网

原创

Linux中文乱码需分场景处理:先检查locale是否为zh_CN.UTF-8,再按终端、GUI应用、SSH连接分别配置字体与环境变量,最后刷新Fontconfig缓存。

linux怎么解决中文乱码_linux安装中文字体及语言包【技巧】

Linux 终端或 GUI 应用显示中文乱码,本质是系统缺少对应字体或 locale 未正确配置,不是单纯“装个字体”就能解决。关键得看场景:是终端(如 bashtmux)乱码?是桌面应用(如 Firefox、VS Code)不显示中文字体?还是 SSH 连接后中文变问号?不同场景要拆开处理。

检查当前 locale 是否支持中文

乱码的第一步永远是确认系统语言环境是否启用中文支持。运行:

locale

如果输出中 LANGLC_CTYPE 等值是 CPOSIX 或不含 zh_CN.UTF-8,那终端和部分程序根本不会尝试渲染中文——字体再全也没用。

  • 临时生效:执行 export LANG=zh_CN.UTF-8(仅当前会话)
  • 永久生效:编辑 /etc/default/locale(Debian/Ubuntu)或 /etc/locale.conf(RHEL/CentOS/Fedora),写入 LANG="zh_CN.UTF-8"
  • 生成 locale:若提示 zh_CN.UTF-8 不存在,先运行 sudo locale-gen zh_CN.UTF-8(Ubuntu/Debian)或 sudo localectl set-locale LANG=zh_CN.UTF-8(systemd 系统)

终端里中文显示为方块或问号

这通常是终端模拟器(如 GNOME Terminal、Konsole、xterm)没加载中文字体,或所选字体本身不包含汉字字形。注意:LANG 正确只是前提,字体才是渲染载体。

SolidPoint
SolidPoint

Youtube视频总结器,快速将Youtube长视频压缩成文字摘要

下载
  • GNOME Terminal:设置 → 字体 → 取消勾选“使用系统等宽字体”,手动选一个含中文的字体,例如 Noto Sans CJK SCWenQuanYi Micro HeiDejaVu Sans Mono(需确认它已安装并含 CJK 支持)
  • xterm / urxvt:需在配置文件(如 ~/.Xresources)中指定中文字体 fallback,例如:
    XTerm*faceName: DejaVu Sans Mono:pixelsize=14:antialias=true
    XTerm*faceNameDoublesize: WenQuanYi Micro Hei:size=14
  • 别依赖默认字体:很多发行版默认字体(如 Liberation Mono)完全不含汉字,必须显式配置 fallback

桌面应用(浏览器、IDE)缺中文字体

GUI 应用通常走 Fontconfig 流程,不直读 LANG,而是查系统字体缓存。即使 locale 正确,若中文字体未被 Fontconfig 索引,Firefox 仍会回退到无中文的字体。

  • 安装基础中文字体包:
    Ubuntu/Debian:运行 sudo apt install fonts-wqy-microhei fonts-wqy-zenhei fonts-noto-cjk
    RHEL/CentOS/Fedora:sudo dnf install wqy-microhei-fonts wqy-zenhei-fonts google-noto-cjk-fonts
  • 刷新字体缓存:sudo fc-cache -fv(必须执行,否则新字体不可见)
  • 验证是否生效:fc-list :lang=zh 应列出若干中文字体;fc-match sans-serif 查看默认无衬线字体是否 fallback 到 Noto 或文泉驿
  • 某些应用(如 VS Code)会缓存字体列表,需重启进程而非仅重载窗口

SSH 连接后中文变乱码

这是客户端和服务端 locale 不一致导致的典型问题。服务端 locale 正确,但你的本地终端(如 Windows 的 PuTTY、macOS 的 Terminal)未声明 UTF-8 编码,或 SSH 客户端未传递 locale。

  • PuTTY:Connection → Data → “Environment variables” 中添加 LANG=zh_CN.UTF-8;Window → Translation → “Remote character set” 设为 UTF-8
  • OpenSSH 客户端(macOS/Linux):确保本地 LANG 是 UTF-8,且 /etc/ssh/ssh_config~/.ssh/config 包含 SendEnv LANG LC_*,服务端 /etc/ssh/sshd_config 启用 AcceptEnv LANG LC_* 并重启 sshd
  • 别信“改服务器 LC_ALL=C 就能好”——这只会让中文彻底消失,不是修复,是屏蔽

真正卡住人的地方往往不是“没装字体”,而是 locale 链路断在某一处:SSH 没传环境变量、终端没设 fallback 字体、Fontconfig 缓存没更新、或者应用自己硬编码了字体名。逐层验证比盲目重装包更有效。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

226

2023.12.07

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

1044

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1145

2023.07.27

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

818

2023.08.01

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

458

2023.08.02

windows无法访问共享电脑
windows无法访问共享电脑

在现代社会中,共享电脑是办公室和家庭的重要组成部分。然而,有时我们可能会遇到Windows无法访问共享电脑的问题。这个问题可能会导致数据无法共享,影响工作和生活的正常进行。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2356

2023.08.08

windows自动更新
windows自动更新

Windows操作系统的自动更新功能可以确保系统及时获取最新的补丁和安全更新,以提高系统的稳定性和安全性。然而,有时候我们可能希望暂时或永久地关闭Windows的自动更新功能。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

850

2023.08.10

windows boot manager
windows boot manager

windows boot manager无法开机的解决方法:1、系统文件损坏,使用Windows安装光盘或USB启动盘进入恢复环境,选择修复计算机,然后选择自动修复;2、引导顺序错误,进入恢复环境,选择命令提示符,输入命令"bootrec /fixboot"和"bootrec /fixmbr",然后重新启动计算机;3、硬件问题,使用硬盘检测工具进行扫描和修复;4、重装操作系统。本专题还提供其他解决

1792

2023.08.28

2026春节习俗大全
2026春节习俗大全

本专题整合了2026春节习俗大全,阅读专题下面的文章了解更多详细内容。

68

2026.02.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 8.9万人学习

Git 教程
Git 教程

共21课时 | 3.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号