Gentoo Archives: gentoo-admin

From: "Florian v. Savigny" <lorian@××××××××.de>
To: gentoo-admin@l.g.o
Subject: [gentoo-admin] Kernel update messed up console encoding
Date: Sat, 21 Feb 2009 00:16:46
Message-Id: 0ML25U-1LafXv1vQd-0006TL@mrelayeu.kundenserver.de
Dear listmates,

not entirely sure whether this shouldn't go to gentoo-kernel or rather
to gentoo-user, but I figured system administration was more or less
situated somewhere between these. ;-)

I recently updated my kernel from 2.6.17 to 2.6.27, and it seems that
this caused the encoding of the console to behave weird: I used to use
the default Unix encoding, i.e. iso-8859-1, because this was fine for
German (now I want to stick to it because there's so much legacy
material in that encoding).

Now, when I type a string with Non-ASCII characters on the
commandline, it looks normal, but when I redirect this to a file, the
file command identifies the contents of that file (correctly, it seems
to me) as UTF-8. When I boot the old kernel (which I kept), the same
procedure results in a file identified as iso-8859-1 (and with
accordingly fewer bytes). Here are the contents (the same sentence):

Kernel 2.6.17:

"Ich kann es außerdem nicht ändern"

Kernel 2.6.27:

"Ich kann es außerdem nicht ändern"

(I don't know how these will look in this message, but the second
string is actually two bytes longer.)

I grepped the .config files for any options that might have a bearing
on this. The only difference I found was in the first of these four
lines:

linux-2.6.17:

# CONFIG_NLS_ASCII is not set
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_UTF8=y

linux-2.6.27

CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_UTF8=y

But as far as I understand, these refer to the handling of file names
(it's in the section "file systems"), so I don't see how this could
have an effect on console encoding.

The only thing I am dead sure about is that the kernel itself must be
the culprit, because when I boot the old kernel, this behaviour goes
away. There is absolutely no change in the system otherwise. (The
UNICODE variable in /etc/rc.conf is set to "no".)

Can anyone give me a hint where to look what I have messed up? Emacs,
which I sometimes like to use on the console, is really uncomfortable
with this, and I seem to write confusing e-mails.

Many thanks in advance,

Florian