Решаем проблему с кодировкой Prestashop 1.5

images (1) Недавно я заметил, что многие сообщения от клиентов приходят в юникоде. В конце концов и сами посетители стали обращаться ко мне с этим вопросом. В этой статье я расскажу вам как устранить некорректную кодировку при создании покупателем вопроса или благодарности по заказу.
Вот так выглядит благодарность одного из моих клиентов

сообшение клиента
Что обозначает: Молодец, большое спасибо за проделанный труд!
Согласитесь, ни мне, ни клиенту не приятно лицезреть такую абрукадабру.
Решение исправления недочета русской локализации с неправильной кодировкой решается следующим способом. За прием сообщений от покупателя отвечает контроллер OrderDetailController.php. Он находится в директории controllers/front/OrderDetailController.php. Находим этот файл и открываем его редактором Notepad++. Ищем строку 88

 

Затем ищем строку 110

 

И изменяем на

 
Что мы сделали? Контроллер преобразовывал массив содержащий кириллические символы в юникоды, а мы с помощью функции preg_replace преобразовали их обратно в символы для UTF-8.
Следующим шагом изменяем непонятные символы в PDF счетах.
Вот как выглядит счет

pdf

 

Проблема банальна, шрифт для генерации pdf счетов helvetica не поддерживает кириллические символы. Решение простое-изменяем шрифт с поддержкой кириллицы.
Для этого заходим в директорию classes/pdf/ и находим генератор PDFGenerator.php, открываем текстовым редактором и меняем строку 35

 

на

 

И получаем счета с нормальным отображением  кириллицы.
Возможно статья была полезна для вас, до встречи на страницах http://webnewbie.ru

 

 

One Comment

Maria
23.05.2016 - 23:54 / Ответить

Спасибо большое за такую четкую информацию! Мне помогло!

Leave a Reply