in reply to LANG setting and code pages

What version of Red Hat? What is your LANG env variable? What encoding are you using for your terminal? Your database?

You need to match the encoding of the terminal, LANG environment, and database if you want to see characters properly. Or do the character set translation. Inside the Oracle client is a common place (that is what NLS_LANG controls).

LANG signals the locale for formatting dates and stuff, and also the character set. For example en_US.UTF-8 is UTF-8.

Perl should not do any character set translation by default. Some older 5.8 versions of Perl had problems with opening stdout as utf8 when .UTF-8 was on LANG. This caused module install problems. Newer versions fixed this problem but some Red Hat releases shipped with those versions of Perl, and put UTF-8 on the locale. Red Hat 9 is the one that caused the most trouble.

Replies are listed 'Best First'.
Re^2: LANG setting and code pages
by adolpht (Novice) on Oct 13, 2004 at 08:14 UTC
    Thanks for the replies, Red Hat : Red Hat Enterprise Linux ES release 3 (Taroon Update 1) LANG=en_US.UTF-8 Putty Terminal encoding UTF-8 I have cut Oracle out completely, I have the simplest possible to test the problem, i.e. print "Umlaut \n"; If I leave LANG set, I can edit my script and type in vi, but the output is messed up when I run it, if I unset LANG, the script output looks good, but I can't use vi to edit the umlauts. What setting(s) do I need to be able to print a from perl *and* be able to edit the script and change it? Cheers, Tony
      Like I said earlier, remove the .utf8 suffix from $LANG, ie in you case, set it to en_US.


        Hi Dave, I tried setting LANG=en_US as you suggest. The gets printed but I cant see them in vi: print "Umlaut : ??\\n"; # copy-n-pasted from a vi session. That should be I tried "use uft8" and "no utf8" but still a problem. Any other ideas? Tony