iso_8859_1 and Linux

iso_8859_1 and Linux

Post by Mike Dowlin » Thu, 29 Oct 1998 04:00:00



As a long term user of Linux and emacs, I have hitherto not had this
problem.  I have recently moved to the vi (nvi-1.79) editor, and I can
no longer display German special characters.

With kbd, it is easy enough to generate special characters with a US
keyboard, even on the bash command line using compose.

C-. "a

produces ?.  Nvi enables me to do that too, and it produces the correct
character, but displays it as \xe4.  According to the very first
question of the nvi FAQ, appended below, getting nvi to display 8bit
characters depends on your locale.  Certainly, nothing like the
suggestion of the FAQ for SUN workstation works.  So, how does one
configure the locale correctly so that nvi can display these characters?

(This would appear to be a Linux problem, not an nvi problem.)

Any suggestions much appreciated
Cheers
        Mike Dowling

============ from the FAQ ======================
Q: How can I get vi to display my character set?
A: Vi uses the C library routine isprint(3) to determine if a character
   is printable, or should be displayed as an octal or hexadecimal value
   on the screen.  Generally, if vi is displaying printable characters
   in octal/hexadecimal forms, your environment is not configured
   correctly.
   Try looking at the man pages that allow you to configure your locale.
   For example, to configure an ISO 8859-1 locale under Solaris using
   csh,
   you would do:

        setenv LANG C
        setenv Linear Combination_CTYPE iso_8859_1

   Other Linear Combination_CTYPE systems/values that I'm told work:

   System       Value
   ======       =====
   FreeBSD      lt_LN.ISO_8859-1
   HP-UX  9.X   american.iso88591
   HP-UX 10.X   en_US.iso88591
   SunOS  4.X   iso_8859_1
   SunOS  5.X   iso_8859_1

   If there's no other solution, you can use the print and noprint edit
   options of vi to specify that a specific character is printable or
   not
   printable.