Помощь Прошу помощи с кодировкой БД после переноса prestashop на другой хостинг

Hedge

Постоялец
Регистрация
12 Авг 2013
Сообщения
202
Реакции
120
DigitalOcean
ubuntu 20.04
nginx
mysql 5.7
php 7.4-fpm
prestashop 1.6.1.24

Импортировал базу данных, которую ранее экспортировал на другом сервере. Перед импортом ставил для каждой базы 'set names utf8'
Есть следующие проблемы:
1. При сабмите формы количество символов воспринимается как x2, то есть заполнено 100, скрипт говорит, что 200.
2. Вот такие проблемы с отображением подписей к картинкам товаров в админке:

Что смотреть? Где-то смотреть кодировки или еще что-то? На сервере? В настройках MySQL?

Спасибо заранее.
 

Вложения

  • coding.png
    coding.png
    6 KB · Просмотры: 3
Последнее редактирование:

mc_max

Гуру форума
Регистрация
18 Янв 2009
Сообщения
106
Реакции
82
DigitalOcean
ubuntu 20.04
nginx
mysql 5.7
php 7.4-fpm
prestashop 1.6.1.24

Импортировал базу данных, которую ранее экспортировал на другом сервере. Перед импортом ставил для каждой базы 'set names utf8'
Есть следующие проблемы:
1. При сабмите формы количество символов воспринимается как x2, то есть заполнено 100, скрипт говорит, что 200.
2. Вот такие проблемы с отображением подписей к картинкам товаров в админке:

Что смотреть? Где-то смотреть кодировки или еще что-то? На сервере? В настройках MySQL?

Спасибо заранее.
при импорте указали скорее всего не ту кодировку файла. Должна быть утф8 скорее всего. Но если экспорт делали в другой - то нужно при импорте указать ее. Это именно кодировка для файла - не базы.
 

Hedge

Постоялец
Регистрация
12 Авг 2013
Сообщения
202
Реакции
120
Что теперь можно сделать с уже импортированной базой, если старая утрачена?
 

mc_max

Гуру форума
Регистрация
18 Янв 2009
Сообщения
106
Реакции
82
ох - е... Было такое как то. Пришлось очень сильно поиграться. Для начала нужно понять насколько база большая. Сколько товаров? И сколько весит сама база? Так там полетели только таблицы в которых присутствовал текст. Цифры отображаются нормально. А это уже уменьшает количество таблиц для редактирования. Нужно выбрать одну из них и пробовать на дубликате сайта. Я бы сделал експорт а потом декодировал файл. Либо при открытии принудительно выбрал кодировку. Все зависит какой программой будете работать.
 

Hedge

Постоялец
Регистрация
12 Авг 2013
Сообщения
202
Реакции
120
Успешно порешал с помощью stackoverflow. Вот как:
SQL:
Use mysql;

SELECT CONCAT("ALTER TABLE ",TABLE_SCHEMA,".",TABLE_NAME," CHARACTER SET utf8 COLLATE utf8_general_ci; ", "ALTER TABLE ",TABLE_SCHEMA,".",TABLE_NAME," CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; ") AS alter_sql FROM information_schema.TABLES WHERE TABLE_SCHEMA = "your_database_name";
Большое спасибо за первоначальтную наводку.
 

mc_max

Гуру форума
Регистрация
18 Янв 2009
Сообщения
106
Реакции
82
Странно. Кодировка напоминалс cp1251. Проверьте как новые данные в базу попадат. У меня тогда была проблема как раз с отображением в базе. Старые данные кракозябликами отображались в базе, а на сайте нормально. А новые отображались и там и там норм. Но изза кодировки - тормозил сайт. Но это был частный случай. Поэтому не претендует на чтото больше, чем просто проверить.
 

Hedge

Постоялец
Регистрация
12 Авг 2013
Сообщения
202
Реакции
120
Новые данные после импорта попадали в базу в корректной кодировке.
Пытался найти решение для SQL 5.7, как сделать так, чтобы вновь создаваемые базы работали в UTF8. Пока наполовину упешно.
 
Сверху