Проблема с кодировкой Prestashop 1.7

isp_ua

Постоялец
Регистрация
31 Янв 2010
Сообщения
54
Реакции
10
Помогите устранить проблему с кодировкой. Как я понимаю, новая версия движка работает в кодировке UTF-8 без BOM. В то время как старая версия программы 1.5, а также программа Store Manager for Prestashop работают в кодировке UTF-8. Если я создаю в программе Store Manager позицию товара, то он не читается в админке, и наоботот, если создаю русское название номенклатуры в админпанели магазина, то оно иероглифами отображается в Store Manager (последняя версия).
Можно ли как-то перенастроить Prestashop c UTF-8 без BOM на UTF-8?
 
Помогите устранить проблему с кодировкой. Как я понимаю, новая версия движка работает в кодировке UTF-8 без BOM. В то время как старая версия программы 1.5, а также программа Store Manager for Prestashop работают в кодировке UTF-8. Если я создаю в программе Store Manager позицию товара, то он не читается в админке, и наоботот, если создаю русское название номенклатуры в админпанели магазина, то оно иероглифами отображается в Store Manager (последняя версия).
Можно ли как-то перенастроить Prestashop c UTF-8 без BOM на UTF-8?

В готовом магазине, к сожалению никак,...
Необходимо в файле /classes/db/DbPDO.php добавить код в функцию connect()
В итоге функция должна выглядеть следующим образом:

___________
public function connect()
{
try {
$this->link = $this->getPDO($this->server, $this->user, $this->password, $this->database, 5);
} catch (PDOException $e) {
throw new PrestaShopException('Link to database cannot be established: '.$e->getMessage());
}

// UTF-8 support
if ($this->link->exec('SET NAMES \'utf8\'') === false) {
throw new PrestaShopException('PrestaShop Fatal error: no utf-8 support. Please check your server configuration.');
}

$this->link->exec('SET SESSION sql_mode = \'\'');

return $this->link;
}
__________

Внести изменение в код нужно ДО УСТАНОВКИ Presta на хостинг и производить установку уже с новым файлом DbPDO.php
После такой манипуляции исчезнут "нечитаемости", кракозябры" и другие гадости - хоть для прямой загрузки, хоть Store Manager, хоть ftp.......

.... на сервере везде кодировка должна быть UTF-8, как у БД, так и у всех файлов.
Если внести изменения на уже установленном движке - то весь русский текст на сайте станет не читаемым и все придется переводить через код в файлах шаблона - перевод через бэк-офис результатов (в этом случае) не даст...
(Проверено на 1.7.4.2)
 
Последнее редактирование модератором:
Для просмотра ссылки Войди или Зарегистрируйся Спасибо БОЛЬШОЕ! Очень помогли. Не знаю как, но это работает:)

Видимо этого не достаточно. Внес данный код перед установкой движка. Вроде всё работает. Но когда заходишь в переводы в бэк-офисе, и начинаешь что-то писать и сохранять на русском, то в итоге нечитаемые иероглифы. Что делать в этом случае?

При этом, когда убираю этот код в файле DbPDO.php, то все надписи бэкофиса становятся нечитаемыми, зато переводы читабельными. И когда вновь добавляю код, то всё становится читабельным. Но это не дело, так замарачиваться. Должен быть простой или сложный, но выход
 
Последнее редактирование модератором:
При этом, когда убираю этот код в файле DbPDO.php, то все надписи бэкофиса становятся нечитаемыми, зато переводы читабельными. И когда вновь добавляю код, то всё становится читабельным. Но это не дело, так замарачиваться. Должен быть простой или сложный, но выход

где-то не там копаете и не тем занимаетесь

ставьте чистую престу рядом - если и там что-то не так - то проблема в вебсервере

так как по дефолту - в престе с кодировками вполне всё корректно, включая и дешевый хостинг и выделенные сервера
 
была проблема с кодировкой, не сохранялся текст с большой буквой И русской, в любом месте вместо нее выводилась кракозябра, а в некоторых местах даже эксепшн и не сохранялся текст. Хостинг был старый, лет 10 ему уже, решилось переездом на новый хостинг и php 7.2, что конкретно помогло не знаю
 
была проблема с кодировкой, не сохранялся текст с большой буквой И русской, в любом месте вместо нее выводилась кракозябра, а в некоторых местах даже эксепшн и не сохранялся текст. Хостинг был старый, лет 10 ему уже, решилось переездом на новый хостинг и php 7.2, что конкретно помогло не знаю

Приветствую!
И на какой хостинг переехали? Тариф?
 
С какого хостинга "уехали"?

с их же, только который 10 лет назад куплен и другой тариф

Для просмотра ссылки Войди или Зарегистрируйся - вот здесь описание моей проблемы, именно только с одной буквой это было, т.е. без буквы И тексты сохранялись и отображались корректно
 
Последнее редактирование модератором:
Всем спасибо. Решил проблему просто. Перенесли сайт на новый хостинг и всё заработало отлично. Проблемы с кодировкой решились собой сами.
 
Назад
Сверху