I had problems with German "umlauts" when using gettext. So, this is how it can be resolved:
I've put these lines itom my PHP code:
$domain = "messages";
bindtextdomain($domain, "path_to_messages_dir");
bind_textdomain_codeset($domain, 'ISO-8859-15');
textdomain($domain);
It works!