有关在 Rocky Linux 10.1 上遇到的 Jetbrains IDE 中文字符显示问题

有关在 Rocky Linux 10.1 上遇到的 Jetbrains IDE 中文字符显示问题

参考文献:

  1. IDEA字体插件加载后中文乱码如何解决?

1. 问题现象

在打开RustRover时,所有的中文字符变成了方块(如下图),可以看到存在明显的字符问题。

2. 问题原因

根本原因分析:字体回退机制失效

  1. 缺少中文字符的字体在做主字体 IDE 内默认字体或你自定义的字体不含 CJK glyphs(中文字形)

  2. 系统字体回退机制没有生效 JVM/Swing 在 Linux 上对于字体 fallback(从主字体切换到支持中文的字体)不是完全自动可靠,特别是在未正确安装和配置中文字体时

  3. fontconfig 字体配置和安装 Linux 需要通过 fontconfig 让系统知道有哪些字体可以用,否则界面组件找不到中文字形,即使 locale 正确设置为 UTF‑8,也无法渲染

3. 解决方案

安装完整中文字体

1
2
3
4
5
6
7
8
# Ubuntu/Debian
sudo apt install fonts-noto-cjk

# Fedora/RHEL
sudo dnf install google-noto-sans-cjk-fonts

# Arch Linux
sudo pacman -S noto-fonts-cjk

强制配置 JVM 字体回退IDEA 内部字体策略调整,请参考IDEA字体插件加载后中文乱码如何解决?