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

Nat*_*han 6 linux unicode kde-4

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

这也发生在控制台上。

我在 Arch Linux 论坛上找了一个相关的帖子,但没有得到答案。

use*_*686 11

可能是您的语言环境配置不正确;最可能的原因是,即使文件名存储在 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.