Перейти к содержанию
Fire Monkey от А до Я
  • 0

C++Builder експорт с SQLite в MYSql проблемы с кодировками


antarey

Вопрос

Помогите разобраться к кодировками
Есть проект на C++Builder 10.3 использую VCL но думаю что для FMX будет та же проблема

Использую Firedac
Есть две базы - SQLite - UTF8  и MYSQL - UTF8. 
Надо експортировать таблицу из SQLite в MYSQL 
В базе SQLite все нормально видно, Девекспресовский грид нормально показывает данные
Формирую скрипт в TFDQuery - qProc

        dm->qExpContent->Open();
        dm->qProc->SQL->Clear();
        UTF8String title,introtext,fulltext;

        do {
        title = dm->qExpContent->FieldByName("title")->AsString;
        introtext = dm->qExpContent->FieldByName("introtext")->AsString;
        fulltext = dm->qExpContent->FieldByName("fulltext")->AsString;
            dm->qProc->SQL->Add("insert ignore into " _content(...alias,introtext,'fulltext'... 
                       values('" + "','" + title + "','" +introtext + "','" +fulltext..."');");
            dm->qExpContent->Next();
        }
    while (!dm->qExpContent->Eof);
        dm->qProc->ExecSQL();

И в результате в MYSQL  вижу крякозябры. 
Игрался с типом строковых переменных, тупо создавал файл в UTF8 и делал загрузку в qProc
результат тот же
Как правильно синхронизировать таблицы? и победить кодировки
Заранее всем спасибо
 

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

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

  • 0
В 25.01.2020 в 13:22, Maximus сказал:

Попробуйте так


        title = dm->qExpContent->FieldByName("title")->AsWideString;
        introtext = dm->qExpContent->FieldByName("introtext")->AsWideString;
        fulltext = dm->qExpContent->FieldByName("fulltext")->AsWideString;

 

Без результатов

Пробовал тупо так

        dm->qProc->SQL->SaveToFile("1.sql",TEncoding::UTF8);
        dm->qProc->SQL->LoadFromFile("1.sql", TEncoding::UTF8);
        dm->qProc->ExecSQL();

Файл сохраняется в UTF8, но в я так понимаю что TFDQuery переконвертирует скорее всего в АНСИ.

Можно как-то заставить работать TFDQuery на юникоде ?

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...