1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Перекодировка базы: windows1251 -> UTF-8, как?

Тема в разделе "Переезд на XenForo c других движков", создана пользователем Pavel, 06.10.2010.

Загрузка
  1. Pavel

    Pavel Местный

    Регистрация:
    26.09.10
    Сообщения:
    396
    Симпатии:
    93
    В теме начал уже рассматривать вопрос. Но не получилось. Предлагаю в этой (извечной :) ) теме рассмотреть разные (проверенные) вариант перекодировки базы

    windows1251 -> UTF-8

    Пожалуйста, поделитесь советами и рекомендациями

    Заранее спасибо
     
  2. Piper

    Piper Активный пользователь

    Регистрация:
    04.10.10
    Сообщения:
    42
    Симпатии:
    7
  3. Pavel

    Pavel Местный

    Регистрация:
    26.09.10
    Сообщения:
    396
    Симпатии:
    93
    Не катит... Все сделано четко по инструкции. Часть таблиц остались в 1251
     
  4. Piper

    Piper Активный пользователь

    Регистрация:
    04.10.10
    Сообщения:
    42
    Симпатии:
    7
    :) я два дня сам плакал над темой, получилось как-то в итоге...
    возможно "старшие" товарищи помогут;)
     
    r4mZeS и Pavel нравится это.
  5. Pavel

    Pavel Местный

    Регистрация:
    26.09.10
    Сообщения:
    396
    Симпатии:
    93
    А что делали? Я уже несколько раз все делал :) У меня копий уже пятьсот разных с разными кодировками.:)
     
    CyberAP нравится это.
  6. AleX

    AleX SPQR

    Регистрация:
    28.09.10
    Сообщения:
    434
    Симпатии:
    415
    Галку рядом с "Коррекция кодировки" поставили?
     
  7. Pavel

    Pavel Местный

    Регистрация:
    26.09.10
    Сообщения:
    396
    Симпатии:
    93
    Я же однозначно написал -

    Все сделано четко по инструкции.
     
  8. Rpsl

    Rpsl Активный пользователь

    Регистрация:
    05.10.10
    Сообщения:
    20
    Симпатии:
    8
    если в базе данных не хранятся вложения (картинки, аватары, ...) то можно сделать обычный mysqldump, после этого используя iconv перегнать базу из cp1251 в utf8
    Последним шагом остается в дампе заменить значения default character set.
    profit.
     
    Pavel нравится это.
  9. Pavel

    Pavel Местный

    Регистрация:
    26.09.10
    Сообщения:
    396
    Симпатии:
    93
    Спасибо за вариант. Как это делается? Я могу это сделать через PHPMyAdmin?
     
  10. Rpsl

    Rpsl Активный пользователь

    Регистрация:
    05.10.10
    Сообщения:
    20
    Симпатии:
    8
    нет. нужно зайти с помощью ssh на сервер, далее пишем
    mysqldump -uлогин_бд -pпароль_бд --default-character-set=cp1251 название_бд > ./файл_в_который_сохраняем_бд.sql

    если все правильно, то в текущей папке появится файл "файл_в_который_сохраняем_бд.sql"

    далее iconv -f windows-12151 -t utf-8 ./файл_в_который_сохраняем_бд.sql > ./файл_в_который_сохраняем_бд_utf8.sql

    вроде все;
     
    Pavel нравится это.
  11. Rpsl

    Rpsl Активный пользователь

    Регистрация:
    05.10.10
    Сообщения:
    20
    Симпатии:
    8
    возможны ошибки в синтаксисе команд, т.к. пишу по памяти, если что то уточнить в гугле.
     
    Pavel нравится это.
  12. Pavel

    Pavel Местный

    Регистрация:
    26.09.10
    Сообщения:
    396
    Симпатии:
    93
    Чтобы другие на грабли не наступали - крайне не рекомендую статью

    Эта статья может быть использована только в частных случаях. Совершенно не учтены настрйки серверов. Они могут быть разными :)
     
  13. AleX

    AleX SPQR

    Регистрация:
    28.09.10
    Сообщения:
    434
    Симпатии:
    415
    Может означать одно — не всё правильно.
     
    лиса нравится это.
  14. лиса

    лиса Заблокирован

    Регистрация:
    05.10.10
    Сообщения:
    395
    Симпатии:
    84
    Правильно догадались в том, что моя статья помогает установить кодировку базы независимо от того как настроен сервер по умолчанию. Написала я её для тех, у кого нет доступа к серверу, поскольку сама долго маялась и не могла изменить кодировку базы у хостера.

    И моей заслуги в той статье нет. Она появилась благодаря автору дампера, который и научил меня пользоваться им. А я изложила это в статье о том как это можно сделать. Рекомендую делать строго по инструкции, не пытаться её "улучшить" и всё получится. Каждый пунк инструкции написан не просто так. Другие варианты работы дампера просто не пройдут.
     
  15. лиса

    лиса Заблокирован

    Регистрация:
    05.10.10
    Сообщения:
    395
    Симпатии:
    84
    Я и предложила переустановить форум в дефолтном варианте, а потом создать дамп и конвертировать его в нужную кодировку. Но у Вас мысли были не о дампере, а о пельменях, а потом и вовсе исчезли.
     
  16. Pavel

    Pavel Местный

    Регистрация:
    26.09.10
    Сообщения:
    396
    Симпатии:
    93
    По теме: все решилось. С использованием Sypex Dumper 2.0.6. Важно: в каждом конкретном случае необходимо использовать свои настройки. В моем случае - экспорт нужно было делать не в режиме "auto", а в utf8 сразу!

    И если Вы поставили перед собой цель конвертировать базу для последующего использования на xenForo - совершенно не нужно редактировать старый файл булки config.php
     
  17. лиса

    лиса Заблокирован

    Регистрация:
    05.10.10
    Сообщения:
    395
    Симпатии:
    84
    Вы пользуетесь дампером Sypex Dumper 2.0.6. У него несколько иной алгоритм работы в определённых случаях. В той же статье об этом написано, а именно, при импорте базы видоизменяются не все таблицы, а только те которые претерпели изменения. У этой статьи есть первая часть http://www.vbstyle.ru/forum/f19/t608.html в которой, в частности, упоминается о функционале дампера

    Доступны 4 варианта стратегии восстановления (импорта) дампа:
    CREATE + INSERT – стандартное режим восстановления;
    TRUNCATE + INSERT – так не тратится время на создание таблиц;
    REPLACE – если вам нужно восстановить в рабочей базе старые данные, не затирая новые при этом;
    INSERT IGNORE – в этом случае можно добавить в базу удаленные данные либо новые данные, не затерев существующие.
     
    detivkrug нравится это.
  18. CyberAP

    CyberAP Местный

    Регистрация:
    05.10.10
    Сообщения:
    2 604
    Симпатии:
    1 660
    Версия XF:
    1.5.10
    Да, кстати, я забыл сказать что я использовал режим REPLACE :)
     
    Pavel нравится это.
  19. Pavel

    Pavel Местный

    Регистрация:
    26.09.10
    Сообщения:
    396
    Симпатии:
    93
    Аналогично :)
     
  20. лиса

    лиса Заблокирован

    Регистрация:
    05.10.10
    Сообщения:
    395
    Симпатии:
    84
    К сожалению в отличии от Вас я "безлошадная" и мне не известно, как проходит переход с булки на этот форум. А в другой теме, где начался разговор по перекодировке по существу ничего не обсуждалось, а только о том, что и здесь написано красным цветом.
    Я написала третью статью по перекодировке в части стратегии импорта в дампере 2.0.6 в основном пригодится для тех, кто имеет дело с перекодировкой рабочей базы.
    http://www.vbstyle.ru/forum/f19/t863.html#post4754
     

Поделиться этой страницей