On Wed, Sep 28, 2005 at 06:03:16AM -0400, Jakub Jelinek wrote:
> On Wed, Sep 28, 2005 at 04:56:09AM -0500, Berna Massingill
wrote:
> > On FC2 (and earlier RedHat) systems, error messages from gcc seem
> > to have been straight ASCII. On a couple of FC4 systems, output
> > includes some non-ASCII characters; specifically, the characters
> > used for single quotes (previous ` and ') have been replaced by
> > something multi-byte. (I base this claim on redirecting stderr
> > into a file and then displaying file contents with "od -c".)
> > The sequence that replaces ' displays okay, but the sequence that
> > replaces ` does not (appears as boldface u with umlaut).
> >
> > My guess is that there's an environment variable somewhere that's
> > not getting set quite right; the man page for gcc seems to be
> > indicating that what gets produced for error messages is controlled
> > by environment variables LANG and LC_MESSAGES. LC_MESSAGES is unset;
> > LANG is set to en_US.UTF-8.
>
> It is LC_CTYPE that tells the compiler what the display character set is.
> If LC_ALL nor LC_CTYPE is present in the environment, ctype defaults
> to $LANG (if set), otherwise to C.
> If your terminal can't display UTF-8 encoded characters, then I guess
> you shouldn't be using UTF-8 character set...
>
> Works just fine here in FC4 both on the console and in gnome-terminal.
(Sorry about the delay in responding; I wanted to check behavior on
a couple of different systems.)
Interesting ....
I would have said "isn't a text console a text console, and they all
work the same way?" but apparently not -- on one system I use, I get
the weird symptom I describe, while on another I don't. I guess it
does make a kind of sense given that the two systems have different
video hardware and presumably use different drivers.
Terminal emulations (gnome-terminal and xterm) seem to be fine on
both systems.
Setting LC_CTYPE=C on the badly-behaving system makes the annoying
symptom go away. I would not have guessed from the description in
the gcc man page that this would have any effect on how error
messages are formatted.
Thanks for the help!
-- blm