Файл.mo в кодировке utf-8 не работает с выделенными словами на сервере linux
Я переводил веб-сайт, и все работало нормально, но когда я помещал файлы на онлайн-сервер (linux), перевод работал, но акцентированные буквы на испанском выглядят так: кто-нибудь знает, как я могу это исправить?
3 ответа
Если вы используете PHP, вам, вероятно, нужно добавить функцию bind_textdomain_codeset, чтобы сообщить системе, что ваш mo-файл возвращает UTF-8 (или что-то, что вы указали в PO-файле). Так что вот так должно подвох
$language = 'de_DE';
bindtextdomain($language, APP_ROOT.'locale'); // Define domain
textdomain($language); // Choose domain, translation is looking for in locale/de_DE/LC_MESSAGES/de_DE.mo now
bind_textdomain_codeset($language, 'UTF-8'); // Tell the system out MO files will return UTF8
Кажется, у меня та же проблема. Не удается разрешить символы.
У меня правильно установлена кодировка в верхней части моего html (utf-8), и файл.po также находится в utf-8. Я попробовал команду bind_textdomain_codeset, но не сработал.
Сервер Linux.
[Решено]
Добавление этой строки: bind_textdomain_codeset("по умолчанию", "utf-8");
обратите внимание на значение по умолчанию вместо языкового домена. Интересно, почему..
Появился как like где? Если он находится на веб-странице, вам нужно убедиться, что перевод находится в том же наборе символов, что и остальная часть HTML, и что этот набор символов правильно отмечен сверху.