Unicode 字符在 KDE 和 Arch Linux 控制台上显示不正确

Unicode 字符在 KDE 和 Arch Linux 控制台上显示不正确

我最近从 OpenSuSE 切换到 Arch Linux。名称中包含 unicode 字符的文件过去显示正常,但切换后我只得到 mojibake。例如,在我的音乐库中,Queensrÿche 显示为 Queensrÿche。

这也发生在控制台上。

我堆积到一个相关主题在 Arch Linux 论坛中,但没有得到答案。

答案1

您的语言环境可能配置不正确;最可能的原因是,即使文件名以 UTF-8 存储,您的终端(我猜是 Konsole)仍然需要传统的 ISO-8859-* 编码。

我不知道其余的部分,但这里有几个步骤可以确保基本配置正确。

此脚本也可能有帮助。

  1. 编辑/etc/locale.gen,确保您的首选.UTF-8语言环境(例如en_US.UTF-8) 未被注释。

    (默认情况下,Arch 不启用任何语言环境。)

  2. 跑步locale-gen如果尚未生成语言环境,则生成语言环境。

    (当前生成的语言环境由 列出locale -a。)

  3. 编辑/etc/locale.conf并添加LANG=en_US.UTF-8

    LOCALE=变量 in 的/etc/rc.conf作用相同,但在某种程度上,它已被弃用,取而代之的是 locale.conf。)

  4. 彻底退出,然后再次登录,以刷新环境变量。

  5. 运行env | egrep '^(LANG|LC_)' | sort以查看 shell 环境中的区域设置。

    跑去tr \\0 \\n < /proc/$PPID/environ | egrep '^(LANG|LC_)' | sort终端的环境。

    两个命令应返回相同的输出。如果不是,则它们两个都值中至少必须包含“.UTF-8” LANG。(“.UTF-8”和“.utf8”可视为相同。)此外,两者都不命令应该列出LC_ALL

相关内容