I got a interesting behavior in Jenkins.
Jenkins' shell does not use my systems locales.
Jenkins runs as user jenkins on my system.
Logged in as jenkins via SSH:
locale displayed:
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
etc...
env shows LANG and LANGUAGE variables:
LANG=en_US.UTF-8
LANGUAGE=en_US:en
id shows the ID of user:
uid=1008(jenkins) gid=...
Entered above commands to a jenkins job shell:
locale displayed:
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
etc...
env does not show LANG and LANGUAGE variables
id shows the ID of user (as expected):
uid=1008(jenkins) gid=...
the files:
/etc/profile contains:
export LANG=en_US.UTF-8
export LANGUAGE=en_US:en
/etc/default/locale contains:
export LANG=en_US.UTF-8
export LANGUAGE=en_US:en
startup script /etc/init.d/jenkins should export system's locales:
# load environments
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
elif [ -r /etc/environment ]; then
. /etc/environment
export LANG LANGUAGE
fi
Of course I rebooted after modifying the locales ;)
Apache also uses the system's locales
My system is an Ubuntu 14.04 installation.
Did I miss to check something else?
Thank you for reading!
I hope somebody can help :)