locale not getting set correctly over ssh connection

Solution 1:

Is specifying the user-preferred locale configurations in ~/.profile appropriate for your needs?

Also, to save you the annoyance, stop forwarding locale from your client (/etc/ssh/ssh_config, comment out SendEnv LANG...) and stop accepting on the server (/etc/ssh/sshd_config)..

Or, if you prefer, you can set a ~/.ssh/environment file with the options you want. You'll have to enable PermitUserEnvironment on the server's /etc/ssh/sshd_config file.

Solution 2:

Ok, I figured it out. Someone hard coded the LC_ALL and LANG variables in /etc/profile, so everything else was just ignored. After removing these, the locale now gets set according to the environment transmitted by ssh.