Помогите устранить проблему с кодировкой. Как я понимаю, новая версия движка работает в кодировке 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)