I recently installed a webapp which uses tomcat and jasper on one of my server. Everything worked well until a template used some special chars, I got the ‘?’ chars which indicate the typical encoding issue.
Everything seemed correct, DB in UTF-8, virtual machine started with -Dfile.encoding=UTF-8, application in UTF-8, data files in UTF-8.
After an hour spend in all these checks I tried an “export LANG=it_IT.utf8” in my linux environment. Everything worked well.
Where is the point? Very simple, some jar don’t look in the JVM system properties but look for the native locale in the linux enviroment. This causes portability issues and lost of time in solving stupid problems.