Centos/fedora/openEuler 终端中文显示配置
注意:这里主要解决的是图形界面、远程登录界面的中文乱码问题
系统原生的终端(如虚拟机系统显示的终端),由于使用的是十分原始的 TTY 终端,使用点阵字体进行显示,点阵字体不支持中文,因此无法显示中文
关于此问题的讨论见倒数第 3 章【One more thing】
0. 一些好看的字体
https://www.thosefree.com/design/fonts
- 黑体:鸿蒙字体 HarmonyOS Sans SC、OPPO Sans、MI Sans
- 宋体:思源宋体
- 楷体:霞鹜文楷
- 趣味体:得意黑
- 标题黑体:金山云技术体、庞门正道标题体
- 通用字体(非官方,中文+等宽英文的组合):微软雅黑Mono、微软雅黑-JBMono
1. 字体配置:解决显示乱码问题
总体思路:- Linux 系统侧:正确安装好中文字体
- 确认是否有字体库 --> 没有则【安装字体库】
- 确认是否有中文字体 --> 没有则【安装中文字体】,有以下两种安装方法:
- 可通过【软件包安装】部分官方中文字体
分析:简单,只需要会安装软件包即可;但只能安装几种官方字体 - 也可手动将中文字体文件【手动添加到字体库】中
分析:操作比较复杂,要改配置;但可安装任意类型的字体
- 可通过【软件包安装】部分官方中文字体
- 确认当前【系统语言格式为中文格式】
- (若要保证系统原生终端正常显示英文) 修改当前【系统语言为英文】
- 远程软件侧:正确配置,保证中文能正常显示
参考文档:
Linux 系统侧 – a 到 b 步骤:
- https://zhuanlan.zhihu.com/p/338919711
- https://www.cnblogs.com/xiaoniandexigua/p/17896240.html
Linux 系统侧 – d 步骤:
- https://man.archlinux.org/man/locale.conf.5.zh_CN
1.1 确认是否有字体库
fc-list
- 若提示“命令无效、未找到命令”等,则说明:没有字体库 --> 需要【安装字体库】
- 若有输出,则说明:有字体库 --> 请看【是否有中文字体】
正常输出类似这种:会输出当前识别到的所有字体的列表
1.2 确认是否有中文字体
fc-list :lang=zh-cn
- 查到有文字列表:说明有中文字体,列出的字体就是中文字体 --> 请看【确认当前系统显示的语言为中文】

- 查询没报错但没有输出:说明没有中文字体 --> 需要【安装中文字体】
以下是示例,查询的是日文的字体,显示如果【没有输出】是啥样的

- 查询报错:字体库没有安装成功,参考【Linux 系统 a-b 步骤】的参考文档,重新安装
1.3 安装中文字体
1.3.1 安装中文字体软件包
这里安装【文泉驿正黑】字体,这是一款免费、开源、可免费商用字体
字体介绍:http://wenq.org/wqy2/index.cgi
安装命令
sudo dnf install -y fonts-wqy-zenhei
安装后刷新字体库
fc-cache -f -v
重新检查是否有安装的字体
fc-list :lang=zh-cn
以下字体是新安装的字体

1.3.2 字体库手动添加字体
参考文档:https://www.cnblogs.com/xiaoniandexigua/p/17896240.html
1.4 确认当前系统支持显示中文(编码类型为 UTF-8)
输入以下指令,确定当前语言相关的配置(系统环境变量)locale
要求LANG=zh_CN.UTF-8
其中 zh_CN = 当前设置的地区,日期货币等显示格式以此为准,UTF-8 = 采用的编码格式,要为 UTF-8
- 若是,则说明系统已经支持中文环境 --> 请看【远程终端软件的配置】
- 若不是 --> 需要【修改系统语言环境为中文环境】
2. 修改系统语言环境为中文环境
-
打开配置文件:
/root/.bashrc -
在配置文件中添加相关配置(设置环境变量 LANG 的值为 zh_CN.UTF-8)
# 将这一行添加到文件的新一行 export LANG="zh_CN.UTF-8" -
保存配置文件
-
使配置文件生效
source /root/.bashrc -
重开一个新的命令行窗口,检查设置是否生效
locale查看
LANG的值是否正确

完成以上设置后,远程打开一个中文文件,其中的中文应该能正常显示了
3. One more thing
完成上面的步骤后,远程登录显示的文字无问题了,但有可能使用本地终端打开时,都是方块字了

究其根本原因:本地原生终端(runlevel ≤ 3 级别)为非常原始的 TTY 终端,使用的字体是点阵字体,这种点阵字体最多只支持 512 种字符,不支持 UTF-8 编码的中文内容
而上面的修改,有可能会把系统显示的语言也改成中文,导致系统报错、帮助、输出都带中文,原生终端都无法显示
解决方案:
- 显示的语言为英文,但支持中文
可以理解为如同在华外国人,使用的电脑支持装中文软件、看中文文档,但系统显示的还是英文
好处:日常系统级操作输出是英文,能正常显示;远程连接打开中文文档由于环境支持也能正常显示
坏处:只解决了部分问题,若在本地打开中文文档,中文仍无法显示 - 换字体,即使是残缺的中文也比一个都显示不出来好(?)
参考这个项目:https://github.com/oldherl/syllazh

- 使用一些魔法程序包(程序员的力量是无限的😎)如
zhcon。项目地址:https://zhcon.sourceforge.net/
下面介绍一下第一种方法,其他方法由于对系统破坏性较大,不建议使用,请自行尝试
4. (保证本地终端兼容性)设置当前系统语言为英文
参考文章:https://man.archlinux.org/man/locale.conf.5.zh_CN
如果要保证系统原生的终端也能正常显示,则必须使用英文为语言
否则会出现以下情况:远程界面中的中文正常显示,但系统原生的终端界面显示的中文就是方块
为兼容两方面的需求,可设置为:中文语言格式(如显示格式、区域、按键布局)、但显示(如报错提示等)用英文
使用localectl命令来实现
localectl set-locale LANG="zh_CN.UTF-8" LC_MESSAGES="en_US.UTF-8"
LANG=指定语言格式(如果不同时设置其他的参数,则会自动设置对应的显示语言、键位等参数LC_MESSAGES=指定系统输出语言格式,相当于指定系统的显示语言
修改后查看localectl状态

修改后需要重启服务器才能生效
可看到,在系统原生的终端界面中,系统显示语言为英文,日常操作输出的都是英文,日常系统级操作OK

但实际上这种方法只能供应急使用,若在原生终端中打开中文显示字符依旧会是方框

总结:要想显示中文,还是得远程登录(如用 MobaXterm、secureRT 等工具远程登录),本地的终端只能显示英文
5. 远程终端软件的配置
MobaXterm 参考我的另一篇笔记:MobaXterm基本使用 – 服务器状态、批量操作、字体设置、修复zsh按键失灵
相关文章:
Centos/fedora/openEuler 终端中文显示配置
注意:这里主要解决的是图形界面、远程登录界面的中文乱码问题 系统原生的终端(如虚拟机系统显示的终端),由于使用的是十分原始的 TTY 终端,使用点阵字体进行显示,点阵字体不支持中文,因此无法显…...
使用kaggle命令下载数据集和模型
点击用户头像,点击Settings: 找到API,点击create new token,将自动下载kaggle.json: 在用户目录下创建.kaggle文件夹,并将下载的kaggle.json文件移动到该文件夹: cd ~ mv Downloads/kaggle.j…...
生信初学者教程(十一):数据校正
介绍 批次效应在生物学数据分析中是一个普遍存在的问题,它指的是由于实验过程中非生物学因素(如样本处理时间、实验条件、测序平台等)的差异,导致实验结果中混入与研究目标不相关的变异。在比较对照组和实验组时,这些非生物学因素可能引入额外的噪声,影响对生物学问题真实…...
JS设计模式之桥接模式:搭建跨越维度的通路
引言 在软件开发中,我们经常遇到需要对不同的抽象类进行不同的实现的情况,而传统的对象嵌套并不是一个优雅且可扩展的解决方案,因此这正是桥接模式的用武之地。桥接模式通过将抽象与实现分离,使得它们可以独立变化,从…...
苹果电脑系统重磅更新——macOS Sequoia 15 系统 新功能一 览
有了 macoS Sequoia,你的工作效率将再次提升:快速调整桌面布局,一目了然地浏览网页重点,还可以通过无线镜像功能操控你的iPhone。 下面就来看看几项出色新功能,还有能够全面发挥这些功能的 App 和游戏。 macOS Sequo…...
DoppelGanger++:面向数据库重放的快速依赖关系图生成
doi:DoppelGanger: Towards Fast Dependency Graph Generation for Database Replay,点击前往 文章目录 1 简介2 架构概述3 依赖关系图3.1 符号和问题定义3.2 无 IT(k) 图3.3 无 OT 图表3.4 无 OTIT 图表3.5 无 IT[OT] 图表3.6 输出确定性保证 4 重复向后…...
Linux(含麒麟操作系统)如何实现多显示器屏幕采集录制
技术背景 在操作系统领域,很多核心技术掌握在国外企业手中。如果过度依赖国外技术,在国际形势变化、贸易摩擦等情况下,可能面临技术封锁和断供风险。开发国产操作系统可以降低这种风险,确保国家关键信息基础设施的稳定运行。在一…...
calibre-web默认左上角字体修改
calibre-web默认左上角字体修改 如图: 有些奇异,如果想变成正常的常规字体,需要修改: cps\static\css\style.css 下的代码: 默认是GrandHotel-Regular: 换成其他字体即可。其他字体在 calibre-web\cps\s…...
考研数据结构——C语言实现归并排序
包含头文件:程序首先包含了标准输入输出库stdio.h,以便使用printf等函数进行输入输出操作。 定义数组和数组大小:定义了一个宏N,其值为5,表示数组q的长度。数组q被初始化为{5, 3, 8, 4, 2},这是我们要排序…...
LDO功率管选取NMOS和PMOS区别
一、drop电压 LDO如果两个管子流过相同的电流, 假设将管子饱和并顶到接近线性区 NMOS的效率(VIN-VDSAT-VGS)/VIN PMOS的效率=(VIN-VDSAT)/VIN 根本原因是 nmos的gate电压比source高vth 如果输出电压(source)较高或者驱动电流要大,…...
【Linux】进程的标识符、状态(超详解)
目录 进程的概念 进程标识符PID 系统调用创建进程-fork初识 进程状态 R状态(运行状态) S,D状态(休眠状态) T,t状态 Z状态(僵尸进程) 孤儿进程 X状态(死亡状态&a…...
Elasticsearch 启动后在浏览器输入http://localhost:9200 访问失败
windows Elasticsearch 启动后在浏览器输入http://localhost:9200 访问失败 文章目录 前言本地下载安装了个elasticsearch,启动成功了,在本地访问http://localhost:9200 无法访问!!!难受了一下。 一、windows Elastics…...
javascript中new操作符的工作原理
在 JavaScript 中,new 操作符用于创建对象的实例。它可以让我们通过构造函数创建一个新的对象,并初始化该对象的属性和方法。尽管 new 操作符的使用很常见,但它在背后实际进行了几个步骤。下面详细解释 new 操作符具体做了哪些事情。 new 操…...
基于springboot+vue 旅游网站的设计与实现
基于springbootvue 旅游网站的设计与实现 摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱,…...
Ansible集群服务部署案例
案例描述 本案例共讲述了多个节点部署Elk集群日志分析系统,分别在三个节点使用ansible部署Kibana、Logstash以及Elasticsearch服务。 案例准备 1. 规划节点 IP 主机名 节点 192.168.100.25 ansible Ansible节点 192.168.100.35 node1 Elasticsearch/Kiba…...
探索AI编程新境界:aider库揭秘
文章目录 **探索AI编程新境界:aider库揭秘**背景:为何选择aider?简介:aider是什么?安装指南:如何安装aider?功能演示:aider的简单用法实战应用:aider在不同场景下的使用常…...
SQL Server 2012 ldf日志文接太大的截断和收缩日志处理
SQL Server 2012 ldf日志文接太大的截断和收缩日志处理操作 --- SQL Server 2012 ldf日志文接太大的截断和收缩日志处理 ----- 查看所有 database 列表及详情 select * from sys.databases;-- 切换到指定的操作数据库 use testdb;-- 查询当前数据库的日志文件ID和逻辑文件名 S…...
java日志门面之JCL和SLF4J
文章目录 前言一、JCL1、JCL简介2、快速入门3、 JCL原理 二、SLF4J1、SLF4J简介2、快速入门2.1、输出动态信息2.2、异常信息的处理 3、绑定日志的实现3.1、slf4j实现slf4j-simple和logback3.2、slf4j绑定适配器实现log4j 4、桥接旧的日志框架4.1、log4j日志重构为slf4jlogback的…...
Oracle DB运维常用的视图及数据字典
List item 本文介绍一些Oracle DB日常运维最常用到(使用频率很高)的视图及数据字典 用户有关的常用视图: 1、 查看当前用户的缺省表空间* SQL>select username,default_tablespace from user_users; 2、 查看当前用户的角色 SQL>sele…...
vue.config.js devServer中changeOrigin的作用
问题 vue开发时,为了解决前端跨域问题,通常在vue.config.js配置 devServer proxy devServer: {proxy:{/api: {target: http://b.com,changeOrigin: false},}, }官方文档http-proxy options对changeOrigin的解释 option.changeOrigin: true/false, Defa…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
uniapp 开发ios, xcode 提交app store connect 和 testflight内测
uniapp 中配置 配置manifest 文档:manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号:4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...
深入浅出Diffusion模型:从原理到实践的全方位教程
I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...
