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

1.1.2 Хочу перейти на XenForo с vBulletin, но кодировка БД cp1251

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

Загрузка
  1. LeoSan

    LeoSan Местный

    Регистрация:
    18.06.12
    Сообщения:
    12
    Симпатии:
    0
    Версия XF:
    1.1.2
    Воощем штука такая:
    Хочу с воблы 3.8 перейти на хенфоро,но кодировка БД cp1251,а как мне известно у хенфоро кодировка UTF-8.
    Что делать и как быть?Может быть есть какие-то конвертеры?
     
  2. ozi

    ozi Пользователь

    Регистрация:
    06.06.12
    Сообщения:
    6
    Симпатии:
    1
    Версия XF:
    1.1.3
    Не нужен конвертер, импортируется с воблы на ксен все замечательно, тем более авторы ксена не по наслышке знают про воблу все)
     
  3. LeoSan

    LeoSan Местный

    Регистрация:
    18.06.12
    Сообщения:
    12
    Симпатии:
    0
    Версия XF:
    1.1.2
    Мм,ну а как быть то тогда?
    Если устанавливать,то тогда будут "вопросики",ибо кодировка другая.
     
  4. TAIFUN

    TAIFUN Человек

    Регистрация:
    27.09.10
    Сообщения:
    2.121
    Симпатии:
    1.560
    Версия XF:
    1.5.9
    Сначала сделать бэкапы БД и файлов, затем потренироваться с импортированием vB в XF без удаления БД "булки" и её же файлов.
    После импортирования зайти в БД XF и посмотреть таблицу post.. если кириллица отображется нормально и у таблиц стоит кодировка UTF-8, значит всё прошло удачно.
     
  5. Pepelac

    Pepelac Продам луц в бутылках Команда форума

    Регистрация:
    28.09.10
    Сообщения:
    1.794
    Симпатии:
    1.349
    При конвертации просто укажите, что у вас исходный форум в cp1251 и все будет нормально. Проверено неоднократно.

    Перед конвертацией рекомендую сделать бэкап.
     
    LeoSan нравится это.
  6. LeoSan

    LeoSan Местный

    Регистрация:
    18.06.12
    Сообщения:
    12
    Симпатии:
    0
    Версия XF:
    1.1.2
    Спасибо огромное!
    Очень помогли :)
     
  7. Finelai

    Finelai Местный

    Регистрация:
    22.06.12
    Сообщения:
    100
    Симпатии:
    11
    Версия XF:
    1.1.3
    Ну и для логичного завершения темы неплохо бы увидеть ссылку на этот самый конвертер.

    p.s. есть нужда перенести бд vb3.7 на xf1.1.3 (с кодировкой все ок)
     
  8. TAIFUN

    TAIFUN Человек

    Регистрация:
    27.09.10
    Сообщения:
    2.121
    Симпатии:
    1.560
    Версия XF:
    1.5.9
    Откройте глаза и внимательно прочтите названия разделов. Всё вам на блюдечке подавай.
     
  9. Гептилл

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

    Регистрация:
    03.03.13
    Сообщения:
    91
    Симпатии:
    42
    Версия XF:
    1.3.0
    Это всё, конечно, хорошо. Но если кириллица в БД отображается в СР1252 ? К примеру фраза áåç ôëóäà òóò íó íåçÿ.íàäî ñòðîèòü из таблицы post декодер http://www.artlebedev.ru/tools/decoder/ определяет как CP1252 → CP1251 При импорте внешних данных указывал ср1252 В итоге вся кириллица вылазит в виде знаков вопроса. Что посоветуете? Уж очень хочется с булки переехать.
     
  10. infis

    infis Местный Команда форума

    Регистрация:
    27.06.11
    Сообщения:
    5.525
    Симпатии:
    3.321
    Версия XF:
    1.5.9
    Сделайте бэкап базы. Прогоните этот бэкап через какой-нибудь конвертер кодировки в 1251 или сразу в utf8. Затем залейте по нормальному в новую базу. Ну и останется просто использовать эту новую базу для конвертора форума. Естественно, при конвертации форума уже укажите правильную кодировку.
    А проблема с 1252, конечно же, не решится указанием при импорте этой кодировки.
    Вообще, если сами настраивали сервер базы данных и саму базу, то сделайте все по-человечески. Если не сами, то обычно эта проблема на зарубежных хостингах была, либо на криво настроенных наших.
    И еще. Всегда указывайте для базы данных правильную кодировку. Зачастую скрипты создают таблицы без указания кодировки, что предполагает использование кодировки, указанной для базы данных. Конечно же, при некорректной кодировке базы данных таблицы заливаются также некорректно. А потом и начинаются такие проблемы, как у Вас.
    Попутно еще и сортировка работает "глючно", так как с неверной кодировкой базы, таблиц и полей порядок символов отличается от правильного.
     
  11. Гептилл

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

    Регистрация:
    03.03.13
    Сообщения:
    91
    Симпатии:
    42
    Версия XF:
    1.3.0
    Хех. Это и так было понятно :) Матушка лень... Думал, может встроено всё в импорт. База создавалась ещё булкой версии что-то 3.5 ... обновлялась, ломалась, откатывалась..., да и хостер не блистал "умом и сообразительностью" (moinet.ru) но дорога как память :) Пришлось таки всё самому сделать :) Кстати, вот прога небольшая, в Delphi сделанная, она поможет кракозябли latin-1 (он же СР1252) в текстовом файле (а чем, к примеру, дамп базы не текстовый файл) заменить на читаемую кириллицу (исходники прилагаются). Просто в поле указываем файл дампа, на выхлопе получаем текстовый файл с исправлениями. После чего открыть его банально блокнотом и сохранить как utf8 большого ума не надо.
     

    Вложения:

    • 1252.zip
      Размер файла:
      205,6 КБ
      Просмотров:
      3
    Romchik® и TAIFUN нравится это.
  12. infis

    infis Местный Команда форума

    Регистрация:
    27.06.11
    Сообщения:
    5.525
    Симпатии:
    3.321
    Версия XF:
    1.5.9
    Я в свое время делал жуткий конвертер для вытаскивания жуткой каши из сразу нескольких неверных кодировок. Т.е. база в latin-1, соединение cp1251, кодировка еще раз cp1251. В итоге получилось двойное перекодирование latin-1 - cp1251 - cp1251. Естественно, нормальным способом эти данные заставить отображаться было нельзя. Плюс к этому различными перекодировщиками опытным путем было установлено, что не все символы эти перекодировщики прожевывают. В результате написал конвертер на Visual Basic, который делал сначала перекодирование строки с использованием свой таблицы перекодировки, включая hex-коды некоторых символов (ибо там еще и двухбайтность символов появлялась из-за VB, который работал только в юникоде).
    Эх, молодость, молодость... Сейчас бы написал это на каком-нибудь php или bash+recode+sed и прямо на сервере быстро обработал, а тогда приходилось вытаскивать с базы через phpmyadmin, затем перекодировать на своем перекодировщике, затем заливал это все обратно через navicat (да, ворованный)... Жаль, что и сервер в те времена был не линуховый и я линуху вообще не знал. Что интересно, все равно это (сайт и форум) как-то работало. Вспоминаю с ностальгией, но чтобы я еще раз на винде рабочий сайт с форумом держал - увольте :)
     

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