atom feed6 messages in org.freebsd.freebsd-stablecorrect value for LANG variable
FromSent OnAttachments
Björn KönigJan 22, 2005 7:52 am 
Tim RobbinsJan 22, 2005 8:41 am 
Michael NottebrockJan 22, 2005 9:09 am 
Björn KönigJan 22, 2005 9:13 am 
Björn KönigJan 22, 2005 9:29 am 
Tim RobbinsJan 22, 2005 4:52 pm 
Subject:correct value for LANG variable
From:Tim Robbins (tj@freebsd.org)
Date:Jan 22, 2005 8:41:39 am
List:org.freebsd.freebsd-stable

On Sat, Jan 22, 2005 at 04:52:45PM +0100, Bj?rn K?nig wrote:

I am a bit confused. Neither de_DE.ISO-8859-1 nor de_DE.ISO8859-1 work properly in all cases.

setenv LANG de_DE.ISO8859-1 echo abcdef uvwxyz | tr '[a-z]' '[A-Z]'

ABCDEF ?WXY?]

For better or worse, this is not the correct way to perform case conversion in non-ASCII locales on FreeBSD 5 and later. See the COMPATIBILITY section of the tr(1) manpage for more information.

setenv LANG de_DE.ISO-8859-1 echo abcdef uvwxyz | tr '[a-z]' '[A-Z]' ABCDEF UVWXYZ perl

perl: warning: Setting locale failed. [lot of indignation about locale settings]

FreeBSD uses the name de_DE.ISO8859-1 instead of de_DE.ISO-8859-1. Most base system utilities don't complain if LANG or the related LC_* variables are invalid.

I am suspicious that de_DE.UTF-8 would work correct with most software. Is it the only solution to don't use localization currently at all or should it be my ambition to fix this? What should be the correct value? I would prefer the notation "ISO-8859-1", but even the almighty perl does not.

Setting LANG to de_DE.ISO8859-1 should work.

The alternative is UTF-8, which is understood by most text-processing utilities in the base system (ls, wc, grep, sed, ...). However, at this stage neither sh nor vi work correctly with UTF-8, so you would need to replace these with (for example) bash and vim.

Tim