Hi,
13.1 has a bug in libmisc/env.c from shadow package. It was introdused with security fixes for GNU gettext.
libmisc/env.c at line 254 in sanitize_env() has typo '!=' and should be
Code:
if (strchr (*cur, '/') == NULL) {
instead of
Code:
if (strchr (*cur, '/') != NULL) {
Without this fix su breaks LANG, LANGUAGE, LC_* environment variables when they hasn't '/' but should be vice versa.
Fixed in upstream in
rev.3090.
"su -", "su -l", "su -l root" start a login shell so execute /etc/profile that calls /etc/profile.d/lang.sh that sets LANG environment variable.