Выход, вероятно, закодирован в ISO-8859-1, когда он получен из gettext. Хотя вы можете вручную преобразовать его с помощью utf8_encode()
, есть встроенная функция для gettext, которая должна делать это автоматически.
Смотрите комментарий пользователя здесь:
http://www.php.net/manual/en/function.bind-textdomain-codeset.php#67200
В вашем случае вам понадобится:
bind_textdomain_codeset($domain, "UTF-8");
Очевидно, что было бы лучше, если бы ваши файлы getmoxt .mo были также закодированы в UTF-8.
Если это еще не помогло, попробуйте переопределить локаль с помощью setlocale("de_DE.UTF-8")
или, возможно, putenv("LC_MESSAGES", "de_DE.UTF-8")
и LANG=
или аналогичных.