Page 1 of 2

SAC German Umlauts Problem

Posted: Wed Apr 12, 2006 2:52 am
by hch
I am running scalix 10 on SUSE OSS 10.0 and discovered a strange problem with umlauts in SAC. The language used is German.
After installation I can create Users with umlauts like öäüß without problems, but after a few restarts of apache and tomcat I cannot access the users with umlauts anymore in SAC displaying the message "Die Benutzerinformationen für den ausgewählten Benutzer konnten nicht geladen werden". Login and Outlook works for the user.

The only solution I found is to run installation again and reconfigure scalix Administration console. After doing so it works again until I restart apache and tomcat.
I did a plain default installation. Do I have to set a default charset in apache or tomcat for german language?

Posted: Wed Apr 12, 2006 4:05 pm
by florian
You need to make sure that from whatever environment your Tomcat is started, the LANG variable is set to use a UTF-8 character set.

I would recommend en_US.UTF-8.

Hope this helps,
Florian.

Posted: Thu Apr 13, 2006 5:02 am
by hch
I set the LANG variable to LANG=de_AT.UTF-8
output of locale:
LANG=de_AT.UTF-8
LC_CTYPE="de_AT.UTF-8"
LC_NUMERIC="de_AT.UTF-8"
LC_TIME="de_AT.UTF-8"
LC_COLLATE="de_AT.UTF-8"
LC_MONETARY="de_AT.UTF-8"
LC_MESSAGES="de_AT.UTF-8"
LC_PAPER="de_AT.UTF-8"
LC_NAME="de_AT.UTF-8"
LC_ADDRESS="de_AT.UTF-8"
LC_TELEPHONE="de_AT.UTF-8"
LC_MEASUREMENT="de_AT.UTF-8"
LC_IDENTIFICATION="de_AT.UTF-8"
LC_ALL=

It did not help. The problem still exists.

Posted: Thu Apr 13, 2006 5:15 am
by florian
Hi,

are you sure that tomcat is running in this environment as well?

The safest way to check would be:

1. Find out the Process ID of the Tomcat Java process:

Code: Select all

xanscalix:/etc/apache2/sites-enabled# lsof -i :8005
COMMAND   PID USER   FD   TYPE DEVICE SIZE NODE NAME
java    19624 root   40u  IPv4  50424       TCP localhost:8005 (LISTEN)


Then run the following command to get a dump of this processes environment:

Code: Select all

cat /proc/19624/environ | tr "\0" "\n"


where 19624 must be replaced by the PID that you get from the output in the first command.

Does this provide the same result for the locale-relevant variables?

Thanks,
Florian.

Posted: Thu Apr 13, 2006 5:36 am
by hch
The output says that
LANG=de_DE.UTF-8 but
LC_ALL=POSIX

Maybe the LC_ALL setting is incorrect but how can I change it.

Posted: Thu Apr 13, 2006 5:39 am
by florian
could well be. for the time being, you might just stop tomcat "the hard way"

Code: Select all

pkill java


and then from the shell where you found your LC-variables and everything setup correctly just go to /opt/scalix-tomcat/bin and execute ./startup.sh from there.

Then, check again with the method described above. If correct, please try your SAC.

Let me know how it went because this might be something we should fix in our install in the lnot so long run.

-- Florian.

Posted: Thu Apr 13, 2006 5:46 am
by hch
Now it seems to work!
The only change is the LC_ALL variable is now set to
LC_ALL=de_DE.UTF-8

How can I make this variable persistent?

Posted: Thu Apr 13, 2006 5:49 am
by florian
I would suggest to edit /opt/scalix-tomcat/bin/setclasspath and put a

export LC_ALL=de_DE.UTF-8

near the beginning of the script, where the JAVA_HOME and JAVA_OPTS variables are set.

Thanks for your help in tracking this one down. I'll log a bug against our installation.

Florian.

Posted: Thu Apr 13, 2006 5:57 am
by hch
Thanks, its now persistent and should work for now!

Posted: Thu Aug 24, 2006 3:23 am
by the2nd
Just want to say that this worked for me too.

Thanks

Posted: Fri Aug 25, 2006 5:07 am
by reiner
I have tried to create an account with an umlaut before setting LC_ALL correctly. SAC said "unable to create..." but nevertheless the account was created with a ? instead of the umlaut. Now I'm unable to delete the account - what can I do?

Posted: Sat Aug 26, 2006 3:01 am
by florian
See a couple of other threads on the topic. please always search the forum! :-)

You'll need to delete the account from the command line - you can use the "normalized" last game to do this, e.g. if this is "Günter Müller",

Code: Select all

omdelu -n mueller


or

Code: Select all

omdelu -n "Guenter Mueller"


should work.

-- Florian.

Charset

Posted: Thu Jan 04, 2007 6:28 am
by fireking
Hello Guys!

So! I have read this topic and i have set it in my system but it is not working.

If i understand u exactly the charset is irrelevant so i have made these steps

1.) I have change /etc/environment
LANG=hu_HU.ISO-8859-2
LC_CTYPE=hu_HU.ISO-8859-2
LC_NUMERIC=hu_HU.ISO-8859-2
LC_TIME=hu_HU.ISO-8859-2
LC_COLLATE=hu_HU.ISO-8859-2
LC_MONETARY=hu_HU.ISO-8859-2
LC_MESSAGES=hu_HU.ISO-8859-2
LC_PAPER=hu_HU.ISO-8859-2
LC_NAME=hu_HU.ISO-8859-2
LC_ADDRESS=hu_HU.ISO-8859-2
LC_TELEPHONE=hu_HU.ISO-8859-2
LC_MEASUREMENT=hu_HU.ISO-8859-2
LC_IDENTIFICATION=hu_HU.ISO-8859-2
LC_ALL=hu_HU.ISO-8859-2

reboot
it was not work.

2.)

I have inserted 2 rows into these files: /etc/init.d/scalix, /etc/init.d/scalix-tomcat
export LC_ALL=hu_HU.ISO-8859-2
export LANG=hu_HU.ISO-8859-2

Then i have restarted it...and i was checking the process environment of omsmtpd because i have charset problem in the SMTP Header

The output is

cat /proc/2173/environ (omsmtpd)

SELINUX_INIT=YESCONSOLE=/dev/consoleTERM=linuxHA_DEBUGLOG=/dev/nullLC_ALL=hu_HU.ISO-8859-2HA_DATEFMT=%Y/%m/%d_%T HA_DIR=/etc/ha.dINIT_VERSION=sysvinit-2.86AUTOBOOT=YESHA_RESOURCEDIR=/etc/ha.d/resource.dPATH=/opt/scalix/bin:/opt/scalix/bin:/bin:/sbin:/usr/sbin:/usr/binRUNLEVEL=2runlevel=2PWD=/var/lib/heartbeat/cores/rootVERBOSE=yesLANG=CHA_FIFO=/var/lib/heartbeat/fifoPREVLEVEL=Nprevious=NHOME=/SHLVL=8BOOT_IMAGE=LinuxHA_LOGFACILITY=local0HA_DOCDIR=/usr/share/doc/heartbeatHA_BIN=/usr/lib/heartbeatOMCURRENT=zeusn1HA_CURHOST=zeusn1HA_LOGFILE=/dev/nullHA_FUNCS=/etc/ha.d/shellfuncsHA_RCDIR=/etc/ha.d/rc.d_=/opt/scalix/bin/omonNLSPATH=/usr/lib/locale/%l/%N.cat

cat /proc/2175/environ (omsmtpd)

SELINUX_INIT=YESCONSOLE=/dev/consoleTERM=linuxHA_DEBUGLOG=/dev/nullLC_ALL=hu_HU.ISO-8859-2HA_DATEFMT=%Y/%m/%d_%T HA_DIR=/etc/ha.dINIT_VERSION=sysvinit-2.86AUTOBOOT=YESHA_RESOURCEDIR=/etc/ha.d/resource.dPATH=/opt/scalix/bin:/opt/scalix/bin:/bin:/sbin:/usr/sbin:/usr/binRUNLEVEL=2runlevel=2PWD=/var/lib/heartbeat/cores/rootVERBOSE=yesLANG=CHA_FIFO=/var/lib/heartbeat/fifoPREVLEVEL=Nprevious=NHOME=/SHLVL=8BOOT_IMAGE=LinuxHA_LOGFACILITY=local0HA_DOCDIR=/usr/share/doc/heartbeatHA_BIN=/usr/lib/heartbeatOMCURRENT=zeusn1HA_CURHOST=zeusn1HA_LOGFILE=/dev/nullHA_FUNCS=/etc/ha.d/shellfuncsHA_RCDIR=/etc/ha.d/rc.d_=/opt/scalix/bin/omonNLSPATH=/usr/lib/locale/%l/%N.cat

There is a LANG=C after variable LC_ALL=hu_HU.ISO-8859-2. So i think my SMTP process works with LANG=C

And this is my problem.....i think....

Can u help me to understand what should i do to change charset of hu_HU.ISO-8859-2.

All system is on hungarian except scalix...

Best Regards,
Darvi

ps: it's Scalix 10 CE on Debian Sarge

Posted: Thu Jan 04, 2007 6:33 am
by florian
You should *NOT* put any charset that is not UTF-8 into any of those variables as it won't work. Actually, we do suggest en_US.UTF-8 independent of your true locale.

Cheers,
Florian.

Posted: Thu Jan 04, 2007 6:48 am
by fireking
I have just noticed a LangMap file in /opt/scalix/template/release.sys/LangMap

If i have made some change in this file it will work for me?
If i would add this:

# Hunagrian is the Scalix name for HU hungarian

OMLANG=hungarian
OMSTDID=852
OMEQU=hu
OMEQU=hu_HU
OMEQU=hu_HU.ISO-8859-2
DEFSYSLANG=hu_HU

Best Regards,
Darvi