Перейти к публикации
IPS Invision Community

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


Zilla
 Поделиться

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

если база была не в UTF-8, перед обновлением нужно запустить example.com/admin/convertutf8/

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

а разве когда обновляюсь она же вроде как пишет что база не в utf-8 и просит это сделать, или это нужно делать перед обновлением и потом запускать admin/upgrade? 

Ссылка на комментарий
Поделиться на других сайтах

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

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

Сопоставление кодировки соединения с 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

 

Ссылка на комментарий
Поделиться на других сайтах

все равно через время умирает бд  и появляется этот бред) 

"IP"" "Teamspeak": ""avalon""."ts3s""."pro"

Ссылка на комментарий
Поделиться на других сайтах

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

Берем программу 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

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

Ссылка на комментарий
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

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

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

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

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

Войти

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

Войти сейчас
 Поделиться

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