Linux 中文显示请教

345 天前
 coolloves

centos 系统下中文显示,我一般都是看 locale 看下 xx_xx.utf-8 的情况下,基本中文就可以在终端正常显示 但是当我搜了下 linux 中文乱码解决之类的问题,好多教程都是要安装中文字体,安装 chinese-support 最后一定要设置 zh_cn.utf-8 等

UTF-8 是编码方式,en_US.UTF-8 和 zh_CN.UTF-8 是语言环境,也就是字符集。

en_US.UTF-8 和 zh_CN.UTF-8 包含的字符数量是基本上一样的,大概是七万个汉字,编码都是 UTF-8 编码,字符集是 Unicode 。

特来请教一下,

1-当系统中设置为 en_us.utf-8 和 zh_cn.utf-8 的时候,除了系统的各种显示会从英文改为中文以外,以及一些时间格式等变化意外,对于中文显示有什么本质的区别吗?
2-本机上跑的服务,比如 web 服务,返回的中文只要编码正确,和本机安装的字体没关系吧?

谢谢指点

457 次点击
所在节点    Linux
4 条回复
libook
345 天前
你理解的基本是正确的。

不过字体是可能有一定影响的,一方面系统界面会根据配置的字体显示,如果所配置的字体没有中文字符就无法显示中文(比如显示成方框或编码堆叠的图标);另一方面网页也会在 CSS 中指定字体,如果系统没有装字体就会按照声明的顺序找备用字体,如果所有字体都没有找到,就可能会使用本地默认的字体,当这个字体不包含中文字符也就无法显示中文字符。
coolloves
344 天前
@libook 谢谢指点
目前我看大部分网站都没有专门提供字体下载,都是用的默认的吧?如果网页 css 指定了特别字体,都会在访问的时候下载的吧?
libook
344 天前
@coolloves #2 网站是有设计兼容性的,比如预期绝大多数用户使用 windows 系统和 macos 系统,也会预期使用这些系统自带的那些字体,实在有特殊字体需求的会提供 web 格式的字体自动下载,但并不是 css 声明了字体就一定会自动下载,只有明确声明了下载地址的才会自动下载,只声明字体名称的只会在系统中找,找不到就使用系统默认字体显示,也就是我上面回复说的逻辑。

Linux 系统通常不在设计兼容性范围内,因为用户太少了,而且不同发行版预装字体也不同,部分较为清爽的发行版安装是完全不预装任何支持中文的字体的,需要用户自己手动安装。

也就是说对于部分 Linux 发行版来说,初装之后完全无法显示网页上的中文是完全有可能发生的,需要你设置 UTF8 编码以及安装包含中文字符的字体。
coolloves
344 天前
@libook 谢谢解释

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/999765

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX