Unicode characters display improperly in KDE and on the console in Arch Linux
It's possible that your locale is configured improperly; the most likely reason is that, even though the file names are stored in UTF-8, your terminal (I'm guessing Konsole) still expects a legacy ISO-8859-* encoding.
I don't know the rest, but here are a few steps to ensure the basic configuration is correct.
This script may also help.
-
Edit
/etc/locale.gen
, ensure that your preferred.UTF-8
locale (e.g.en_US.UTF-8
) is uncommented.(By default, Arch does not enable any locales.)
-
Run
locale-gen
to generate the locales, if they haven't been generated yet.(Currently generated locales are listed by
locale -a
.) -
Edit
/etc/locale.conf
and addLANG=en_US.UTF-8
.(The
LOCALE=
variable in/etc/rc.conf
does the same thing, but is, in a way, deprecated in favor of locale.conf.) Log out completely, then log in again, in order to refresh the environment variables.
-
Run
env | egrep '^(LANG|LC_)' | sort
to see what locale settings are in your shell's environment.Run
tr \\0 \\n < /proc/$PPID/environ | egrep '^(LANG|LC_)' | sort
to see the terminal's environment.Both commands should return identical output. If not, they both must at least have ".UTF-8" in
LANG
values. (".UTF-8" and ".utf8" can be considered identical.) Also, neither command should listLC_ALL
.
Related videos on Youtube
Nathan
Updated on September 18, 2022Comments
-
Nathan almost 2 years
I recently switched from OpenSuSE to Arch Linux. Files with unicode characters in the name used to display fine, but after the switchover I just get mojibake. For example, in my music library Queensrÿche appears as Queensrÿche.
This occurs on the console as well.
I piled on to a relevant thread in the Arch Linux forums, but haven't gotten an answer.
-
Nathan over 12 yearsSeems to have done the trick...konsole and dolphin both display the proper characters now! Thanks!
-
Mateusz Jamrocki about 11 yearsGithub link broken. New link.
-
virtualeyes about 10 years+1 for this, thanks -- adding LANG to .bash_profile (not .bashrc) did the trick here for getting vim-airline utf-8 symbols displaying in gnome-terminal