Jump to content
4.4.2
Sign in to follow this  
Zilla

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

Recommended Posts

Zilla

Обновлялся я с 3.4.6 на 4.2.4 , оба нулла. Как быть подскажите)

6.png

8.png

Share this post


Link to post
Share on other sites
aleksanndr

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

  • Upvote 1

Share this post


Link to post
Share on other sites
Zilla
Только что, aleksanndr сказал:

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

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

Share this post


Link to post
Share on other sites
aleksanndr

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

  • Upvote 1

Share this post


Link to post
Share on other sites
Zilla

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

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

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

Share this post


Link to post
Share on other sites
Zilla
3 часа назад, aleksanndr сказал:

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

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

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

,,,.png

123.png

321.png

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

231.png

Edited by Zilla

Share this post


Link to post
Share on other sites
Zilla

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

ыыы.png

Edited by Zilla

Share this post


Link to post
Share on other sites
aleksanndr

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

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();

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

  • Upvote 1

Share this post


Link to post
Share on other sites
Zilla

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

321.thumb.png.56f249cbaa38ede8a2a10467571e0a96.png123.thumb.png.b7a677b9ac3fc4d8178127c8f6d874ec.png

Share this post


Link to post
Share on other sites
Zilla

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

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

Share this post


Link to post
Share on other sites
Zilla

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

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

 

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

IPS4_utf.png.0f8e7d6fe489f5dd68ff16fb1016c224.png

3333.png

Share this post


Link to post
Share on other sites
Zilla

Проблема заключается в русификации как я понял, а как решить еще не понял.

Share this post


Link to post
Share on other sites
๖ۣۣۜDesperate™

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

 

  • Upvote 1

Share this post


Link to post
Share on other sites
tonche

у меня на этапе 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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...