i don't know a lot about locales
i think "locale" does not set anything ... it just gives information
eg. locale -a tells you the locale names that are recognized as locales ... i suspect they are created by localedef
i think all you need to do is
export LANG=a-valid-locale-name
this will set LANG for all sub processes too
to set LANG for X you would need to
1) kill X
2) export LANG=valid-locale
3) restart X
or you can edit /etc/profile
/etc/profile is only executed by a login shell
so you would have to start a new login shell or restart the old shell as a login shell
it is not good enough to kill X and restart it
or you can edit /etc/profile and source it, like:
1) kill X
2) . /etc/profile
3) restart X
bash will execute /etc/profile if bash is run as sh
if bash is run as bash, it will execute .bash_profile
ash or bash-as-sh will execute the file in $ENV, if any, if it's not a login shell
if you start ash by typing ash
then run mp
the line-drawing chars are the same ... still 3's
as a workaround you can set in /root/.mprc
poor_man_boxes: 1
which looks better