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


6

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

这也在控制台上发生。

我在Arch Linux论坛上讨论了一个相关的话题,但是还没有得到答案。

Answers:


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以查看您的外壳程序环境中的区域设置。

    运行tr \\0 \\n < /proc/$PPID/environ | egrep '^(LANG|LC_)' | sort以查看终端的环境。

    这两个命令应返回相同的输出。如果不是,则它们必须至少具有“ .UTF-8” LANG值。(“ .UTF-8”和“ .utf8”可以被认为是相同的。)此外,两个命令都不应列出LC_ALL


似乎已经完成了技巧... Konsole和海豚现在都显示正确的字符!谢谢!
弥敦道

1
Github链接断开。新链接
beatgammit

为此,为此+1,谢谢-在.bash_profile(不是.bashrc)中添加LANG的目的在于,在gnome终端中显示vim-airt utf-8符号
virtualeyes 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.