Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: LANG setting and code pages

by iburrell (Chaplain)
on Oct 12, 2004 at 22:25 UTC ( [id://398717]=note: print w/replies, xml ) Need Help??


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.

      Dave.

        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

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://398717]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (9)
As of 2024-04-23 21:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found