However, setlocale(LC_ALL, "") does the trick... only in a standalone app. When running as daemon LC_ALL is set by Suse to POSIX (Fedora and others do it as well) and any call to setlocale() from within the daemon code results either in NULL or complete garbage and changes nothing. The only way I could fix the locale problem is having extended the startup script for the mediatomb service by this part: . /etc/sysconfig/language locale_vars=" \ LANG \ LC_CTYPE \ LC_NUMERIC \ LC_TIME \ LC_COLLATE \ LC_MONETARY \ LC_MESSAGES \ LC_PAPER \ LC_NAME \ LC_ADDRESS \ LC_TELEPHONE \ LC_MEASUREMENT \ LC_IDENTIFICATION \ LC_ALL" unset LC_ALL for tmplc in $locale_vars do eval tmpval="\$RC_$tmplc" if test -n "$tmpval"; then eval $tmplc="\$RC_$tmplc" export $tmplc fi done unset tmplc tmpval