TIL: the encoding of the catalina.out
file is dependent on the system locale, using standard Debian wheezy tomcat7
package.
Fix for ‘?’ instead of umlauts in it:
cat >>/etc/default/tomcat7 <<EOF LC_CTYPE=C.UTF-8 export LC_CTYPE EOF
My “problem” here is that I have the system locale be the “C” locale, to get predictable behaviour; applications that need it can set a locale by themselves. (Many don’t bother with POSIX locales and use different/separate means of determining especially encoding, but possibly also i18n/l10n. But it seems the POSIX locales are getting more and more used.)
Update: There is also adding -Dfile.encoding=UTF-8 to $JAVA_OPTS which seems to be more promising: no fiddling with locales, no breakage if someone defined LC_ALL already, and it sets precisely what it should set (the encoding) and nothing else (since the encoding does not need to correlate to any locale setting, why should it).