eXcNightRider
@eXcNightRider
FullStack Web Developer | DevOps

Знаки Èíà вместо кириллицы на сайте написанном на Perl. Как исправить кодировку?

Переношу учебный портал одного института со старого сервера на новый.
На старом сервере: CentOS 5.11, Perl 5.8.6, Postgres, очень ограниченные права и много совершенно сторонних файлов.
Новый сервер: Debian 9.9, Perl 5.24.1 из коробки, и отдельно собранный 5.8.9, Postgres.
На новой версии Perl по понятной причине начались разные мелкие проблемы, решились все кроме одной.
Сайт работает в Win1251, вывод русского текста через print работает нормально, а вот через qq кракозябры вида ÈíГ.
Вот скриншот:
5d68df784e162790975696.png
Перерыл массу мануалов, проверял локали, сверял настройки на двух серверах, но что то точно упускаю.
Поменять qq на print не решение.
От безысходности собрал древний Perl 5.8.9. Запустил на нём - всё тоже самое, только в лог ошибок пишется AH01215: Wide character in print at с указанием на строку, где как раз и печатаются кракозябры.
Подскажите пожалуйста, в какую сторону смотреть.
Последняя из идей: проверить и поставить модуль Locale::RecodeData::CP1251
  • Вопрос задан
  • 100 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Olgeir
Кракозябры это вывод юникода, нужно проверить в какой кодировке текст
Ответ написан
@Konvergent
начинающий разработчик
А use utf8; у вас есть?

Попробуйте еще такое добавить - use open qw(:std :utf8);
Ответ написан
eXcNightRider
@eXcNightRider Автор вопроса
FullStack Web Developer | DevOps
Из свежего: взял два основных файла из проекта, удалил все запросы в Postgres, чтобы не поднимать его на рабочем компьютере (Mint 19.3), запустил, всё работает, по кодировке всё идеально. Эти же файлы на будущем боевом сервере с теми же кракозябрами. Конфиги апача - идентичны, настройки локали - идентичны. Пока не знаю, что ещё можно проверить
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы