• 0
kvantum

Unicode [FireDAC] [SQLite] Какие настройки необходимо произвести с компонентами FireDAC для корректной записи/отображения иероглифов? 

Вопрос

Здравcтвуйте !

После записи в таблицу иероглифов, например "日本人", в ней отображаются вопросы "???".

Какие настройки необходимо произвести с компонентами FireDAC для корректной записи/отображения иероглифов? 

Пример: Ieroglifs.zip

Поделиться сообщением


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

3 ответа на этот вопрос

  • 1

кодировку нужно настроить , непонятно какие данные в какой кодировки вы пишете , попробуйте Utf8toansi или наоборот все зависит от кодировок базы и данных

Поделиться сообщением


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

В коде, 51 строчка:   вы вставляете в базу. Что то мне подсказывает, что она как раз передается не в нужной кодировке. Вы ее вписали прямо в паскалевский файл  *.pas. Когда я открыл стандартным виндосовским просмоторщиком, то он показал кодировку utf8, но эти иероглифы не отобразил. И так со всеми моими просмоторщиками винды. Открыл в маке, все ок! Иероглифы отобразились. Соответственно вопрос, а пробовали ли вы просто в edit вбивать иероглифы, так сказать а run'тайме, а не прописывать их в паскалевском файле? 

Поделиться сообщением


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

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

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

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

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


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

Войти

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


Войти сейчас

  • Похожие публикации

    • Автор: Bio HaZaRD
      Всем привет!
      Пишу проект на основе FireDac (TFDConnection, TFDQuery) + SQLite. На ПК с IDE программа запускается, а на других - нет. На ПК, без IDE, стоят все обновы.
      Помогите разобраться, где проблема или посоветуйте другой компонент, который поддерживает SQLite. Заранее спасибо!
       
      Примечания к файлу:
      Windows-Problemberichtserfassung = Windows Problem Reporting

    • Автор: GoldenEalge
      Всем привет только начинаю работать с sqlite и возникло пару вопросов.Добавляю на форму пару компонентов

      Устанавливаю связь с бд которая лежит в папке 

      при запуске все хорошо 

      но при попытки редактировать , выдает 

      база открыта только в софте , больше не где ,в чем может быть проблема?
       
    • Автор: krapotkin
      Подскажите plz
      У меня был сервер в datasnap 3-звенке, подключенный к Firebird через fibplus
      Для того, чтобы не создавать подключения к БД на каждое обращение к серверу, (а сервер ведь многопоточный) я держал пул открытых коннектов к БД и по запросу выдавал один коннект для исполнения запроса, после чего возвращал коннект в список свободных
      Теперь у fdconnection есть свойство pool
      Значит ли это, что теперь я могу вообще не заморачиваться сам и открывать коннект на каждый запрос, а FireDAC спрячет от меня кэширование коннектов?
    • Автор: uuxyyz
      Коллеги, добрый день. Отписался сегодня по выходу XE8, но решили таки продолжить мытарства. Вопрос, кто нибудь может подсказать, как собрать 64 битное IOS приложение? Сегодня установили XE8, линковщик требует libsqlite3.a и все. 
    • Автор: Pulsarius
      Привет всем! Скажите, кто-нибудь сталкивался с проблемой компиляции проекта с использованием FireDAC в C++ Builder (RAD Studio 10 Seattle) под Windows 64-bit? В проекте есть такие компоненты, как TFDConnection, TFDQuery, TFDTable. TFDConnection настроен на работу с SQLite. При компиляции в режиме Release, естественно с отключенными Dynamic RTL и Link with runtime packages, под Windows 32-bit всё в порядке, а вот под Windows 64-bit происходит ошибка, как я понял, линковщика:
      [ilink64 Warning] Warning: Out of memory [ilink64 Error] "ilink32" exited with code 2. Мне так кажется, что нет статических библиотек FireDAC для Windows 64-bit, и тем самым не удастся собрать проект со статической линковкой нужных либ, а только придётся таскать нужные библиотеки за exe-шником. Я правильно понимаю?
    • Автор: masmat
      Есть база SQLLite, 202 записи, 27 полей (столбцов). Объем 1,9 мб
      Разработка в Delphi 10 Seatle Проекты для Android  и iOS отдельные, лишних модулей (разных платформ) нет.
      SDK последних версий.
       
      Есть запрос
      select distinct Cat1 from client where Tip="s"  Order By Cat1 Результат запроса 12 записей, которые потом заполняются в ListView
            LV.BeginUpdate;       LV.Items.Clear;         while not Query.Eof do           begin               LItem := LV.Items.Add;               LItem.Text := Query.FieldByName('Cat1').AsString;               Query.Next;            end;       LV.EndUpdate; Вопрос:
      В первый раз запрос и заполнение ListView отрабатывается в течении 4-5 секунд. В следующий раз все отрабатывает за 1 секунду.
      и так с каждым запросом.
       
      Почему так происходит? Может кто-нить решал уже такую проблему?
      Данное поведение наблюдается и на Android, и на iOS.
       
       
       
       
       
       
    • Автор: masmat
      Есть две таблицы (Таб1, Таб2), в каждой из них есть BLOB поле (BLOB1, BLOB2).
      В Таб1.BLOB1 есть картинка в формате PNG.
       
      Вопрос, как из Таб1.BLOB1 скопировать картинку в Таб2.BLOB2 в SQL запросе?
       
    • Автор: DarkFlash
      Всем доброго дня.
       
      Разрабатываю приложение и подключаюсь к БД через FireDAC. Все настройки подключений хранятся в файле конфигурации FDConnectionDefs.ini.
      Возникла необходимость прописать Логин/Пароль пользователя БД непосредственно в конфигурации, и соответственно они пишутся в FDConnectionDefs.ini без какого-либо шифрования.
       
      А теперь вопрос, есть ли возможность настроить как либо FireDAC, чтобы данный файл был в каком-либо зашифрованном виде или хотя-бы пара логин/пароль шифровалась?
    • Автор: AndreyS
      Доброго всем дня! У меня в  самый неподходящий момент возникла следующая проблема:
       
      Есть приложение для Win и Mac. Работает с SQLite (Через FDQuery).
      Естественно, в базе куча данных с кириллицей. Так вот, на Win - все нормально, на одном Mac(10.10) - тоже все хорошо. Попробовал поставить на второй Mac(10.9.5) - b и вот там уже начались проблемы с кодировкой. Причем, читает из таблицы 
      S := Query.FieldByName('Title').AsString; //Без проблем а вот при записи в таблицу
      Query.ParamByName('Title').AsString := 'Заголовок'; В таблицу записывается '????????' (Причем именно запись идет неправильно). При подключении к базе Указываю, что StringFormat=Unicode.
       
      Может кто-то сталкивался с таким уже?
       
      Есть подозрения, что на 10.9.5 какая-то старая dylib, которая неправильно работает с кириллицей. тогда, наверное, нужно подключать свою к приложению, но опять же, где ее взять и как подключить? 
    • Автор: 0xdeadc0de
      Наблюдаю жесточайшие тормоза при переборе SQLite-таблицы на 100 000 записей.    Алгоритм перебора: procedure TForm1.btn_ShowAllRecordsClick(Sender: TObject); var   FieldID, FieldName: TField;   I: Integer;   TableItem: TADTable; begin   TableItem := TADTable.Create(nil);   try     TableItem.Connection := ADConnection1;     TableItem.Open('item');     FieldID := TableItem.FieldByName('id');     FieldName := TableItem.FieldByName('name');     TableItem.First;     I := 1;     ListBox1.BeginUpdate;     try       TableItem.DisableControls;       try         while not TableItem.Eof do         begin           if I mod 250 = 0 then             Caption := Format('%d of %d', [I, TableItem.RecordCount]);           ListBox1.Items.Add(Format('id: %d; name: %s', [FieldId.AsInteger, FieldName.AsString]));           TableItem.Next;           Inc(I);         end;       finally         TableItem.EnableControls;       end;     finally       ListBox1.EndUpdate;     end;   finally     TableItem.Free;   end; end; Первые 7 000 записей перебираются мгновенно. После перебор резко замедляется и дальше выполняется еле-еле. 100 000 записей перебирает около 30 минут. В чем может быть проблема?
  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу