Localization Difficulties

I’m having a problem with the localization settings on my system and I’m hoping someone here can show me what I’m missing. First, here is what I’m working with:

XXX:~:-> cat /etc/SuSE-release SUSE Linux Enterprise Server 11 (x86_64) VERSION = 11 PATCHLEVEL = 3

If I set the localization variables manually, I get what I want:

XXX:~:-> export LANG=en_US.UTF-8 XXX:~:-> export LC_ALL=en_US.UTF-8 XXX:~:-> locale charmap UTF-8

If I update /etc/sysconfig/language with the equivalent values and reboot, I get this:

XXX:~:-> locale charmap ANSI_X3.4-1968

Here is my current /etc/sysconfig/language file:

## Path:        System/Environment/Language
## Description:
## Type:        string(POSIX,ca_ES.ISO-8859-1,ca_ES.UTF-8,cs_CZ.ISO-8859-2,cs_CZ.UTF-8,da_DE@euro,da_DK.ISO-8859-1,da_DK.UTF-8,de_DE@euro,de_DE.ISO-8859-1,de_DE.UTF-8,el_GR.ISO-8859-7,el_GR.UTF-8,en_GB.ISO-8859-1,en_GB.UTF-8,$
## Default:     ""
## Config:      OpenOffice.org,groff,ispell,kde,kdm,profiles,susehelp,susewm,tetex,wdm
#
#
# Local users will get RC_LANG as their default language, i.e. the
# environment variable $LANG . $LANG is the default of all $LC_*-variables,
# as long as $LC_ALL is not set, which overrides all $LC_-variables.
# Root uses this variable only if ROOT_USES_LANG is set to "yes".
#
RC_LANG=en_US.UTF-8

## Type:        string
## Default:     ""
#
# This variable will override all LC-variables!!
# Again, ROOT_USES_LANG must be set to "yes", if an effect on the superuser
# account is desired.
#
RC_LC_ALL=en_US.UTF-8

## Type:        string
## Default:     ""
#
# This defines the locale in which messages of programs and
# libraries with i18n-support should appear if a translated
# message catalog for the library or the program is installed.
# This also provides localized yes/no answers.
#
RC_LC_MESSAGES=""

## Type:        string
## Default:     ""
#
# This defines the locale for character handling and classification.
# The libc uses this value in language dependent function calls, such
# as e.g. uppercase/lowercase mapping of foreign characters.
#
RC_LC_CTYPE=""

## Type:        string
## Default:     ""
#
# This defines the locale for sorting strings and characters.
# It is used by the libc to obtain the alphabetical order of characters
# (e.g. for string comparisons).
#
RC_LC_COLLATE=""

## Type:        string
## Default:     ""
#
# This defines the locale for date and time output formats.
# i.e.: 06/09/1999 vs. 09.06.1999
#
RC_LC_TIME=""

## Type:        string
## Default:     ""
#
# This defines the locale for formatting and reading numbers.
# i.e.: 1,234.56 vs. 1.234,56
#
RC_LC_NUMERIC=""

## Type:        string
## Default:     ""
#
# This defines the locale for formatting and reading money values.
#
RC_LC_MONETARY=""

## Type:        string
## Default:     ""
#
# This defines the locale for format of paper.
#
RC_LC_PAPER=""

## Type:        string(ctype)
## Default:     ctype
#
# This defines if the user "root" should use the locale settings
# which are defined here.
# Value "ctype" means that root uses just LC_CTYPE.
#
ROOT_USES_LANG="ctype"

## Type:        yesno
## Default:     no
#
# Workaround for missing forward of LANG and LC variables
# of e.g. ssh login connections.
#
AUTO_DETECT_UTF8="yes"

## Type:        string
## Default:     ""
#
# List of installed language supports, use by YaST2
#
INSTALLED_LANGUAGES="en_US"

Hi dericpage,

how’s $LANG set in your user’s shell (the one where you call “locale charmap”) after reboot? If not set to en_US.UTF-8, check the (user, global) profile scripts for any place this might be overridden.

(In /etc/sysconfig/language, it should be sufficient to only set RC_LANG, without setting RC_LC_ALL as well.)

Regards,
J