I have encountered a lot character problems with especially German Umlaute and sharp -s-. To "fix" this I had to hack a little function unhtml() in sources/functions.php:
- Add new first line global $lang;
- Replace $string = htmlspecialchars($string); with $string = htmlspecialchars(recode('iso8859-1..' . $lang['character_encoding'], $string), ENT_XHTML | ENT_SUBSTITUTE);
This takes care of any selected character set and I'm currently changing all tables to utf8_general_ci to have no troubles with "special" characters.
Hope you find this hack useful.