Перейти к содержанию
IPS Invision Community 🇷🇺

кодировка при обновление


Zilla

Рекомендуемые сообщения

Сопоставление кодировки соединения с MySQL utf8_unicode_ci

а сравнение в таблицах cp1251_general_ci

В общем сейчас буду на локалке пробовать запустить конвертор, позже отпишу вам.

Ссылка на комментарий
22.09.2017 в 10:45, aleksanndr сказал:

должен предлагать, но всякое может быть. посмотрите в PMA текущую кодировку и запустите конвертер.

example.com/admin/convertutf8/ в общем прогнал как вы говорили, теперь стало вот так ))

Ну уже радует что хоть бд не убило.

Скрытый текст

 

,,,.png

123.png

321.png

я вот что еще заметил, что не все таблицы стали в utf-8

231.png

 

 

Ссылка на комментарий

Может есть еще какие нибудь способы? По итогу все равно базу убило спустя какое то время.. я по сути её даже не трогал, ждал когда пересчет пройдет и вуаля та же песня.

Скрытый текст

ыыы.png

 

Ссылка на комментарий

как вариант, после конвертации выполните в нужной БД конвертацию всех таблиц с помощью:

delimiter //

DROP PROCEDURE IF EXISTS convert_database_to_utf8 //

CREATE PROCEDURE convert_database_to_utf8()
BEGIN
    DECLARE table_name VARCHAR(255);
    DECLARE done INT DEFAULT FALSE;

    DECLARE cur CURSOR FOR
        SELECT t.table_name FROM information_schema.tables t WHERE t.table_schema = DATABASE() AND t.table_type='BASE TABLE';
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;

    OPEN cur;
        tables_loop: LOOP
            FETCH cur INTO table_name;

            IF done THEN
                LEAVE tables_loop;
            END IF;

            SET @sql = CONCAT("ALTER TABLE ", table_name, " CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci");
            PREPARE stmt FROM @sql;
            EXECUTE stmt;
            DROP PREPARE stmt;
        END LOOP;
    CLOSE cur;
END //

delimiter ;
call convert_database_to_utf8();

похоже, что перестраивание контента, учитывая кодировку таблиц, портит содержимое)

  • Поддержать 1
Ссылка на комментарий

к сожалению проблему не решило, по новой все сделал, прогнал бд через convertutf8, сделал ваш SQL запрос, в бд сравнение поменялось, но на форум как видите не выводит. Может не там ищем, может в самом php собака зарыта. Я просто не вижу больше вариантов, попробую чуть позже в другой кодировке запустить SQL запрос

Скрытый текст

123.png
321.png

 

Ссылка на комментарий

В общем сделал. Делюсь как я это сделал.

Берем программу HeidiSQL, идем в  Tools -> Bulk table editor, выбираем нашу базу слева, information_schema НЕ выделяем,  и справа делаем 2 настройки как винно на скрине.

Осталось решить только одну проблему,  кто знает подскажите 

Скрытый текст

IPS4_utf.png.0f8e7d6fe489f5dd68ff16fb1016c224.png

3333.png

 

Ссылка на комментарий

обновитесь до нашего нулла 349 и потом уже на ips, можете использовать этот файл конвертера, залейте его в корень форума и запустите в строке браузера. 

 

  • Поддержать 1
Ссылка на комментарий
  • 6 месяцев спустя...

у меня на этапе upgrade с 3.4.9 до 4.1.19.2 пишет следующее

Your community suite data or database configuration is saved in an encoding other than UTF-8. Before your site can be upgraded, we must convert the encoding to UTF-8.

хотя база, сайт, сервер все в utf-8. 

при попытке сконвертить предложенным решением тут же вылетает ошибка Error: Declaration of IPSUtf8\Db::query($query) should be compatible with mysqli::query($query, $resultmode = NULL) File: /system/Db/Db.php Line: 0

что может быть?

Ссылка на комментарий

Создайте учетную запись или войдите, чтобы комментировать

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти
×
×
  • Создать...
Вверх
Вверх