• 0
Авторизация  
kvantum

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

Вопросы

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

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

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

Пример: Ieroglifs.zip

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


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

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

  • 1

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

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


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

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

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

Авторизация  

  • Похожий контент

    • От x11
      function OnlyDec(const s: String): string; Var ch: char; i: integer; begin for i := 0 to s.Length do if CharInSet(s[i], ['0'..'9']) then result := result + s[i]; или for i := low(s) to High(s) do if CharInSet(s[i], ['0'..'9']) then result := result + s[i]; или for ch in s do if ch in ['0'..'9'] then result := result + ch; или for ch in s do if CharInSet(ch, ['0'..'9']) then result := result + ch; end; Почитал http://docwiki.embarcadero.com/RADStudio/Tokyo/en/String_Types_(Delphi) но до конца не понял.
      Как всё-таки более правильно сделать цикл по строке?
      Я склоняюсь к последнему варианту.
    • От striker
      Добрый день!
      Работаю с MySQL
      Подключаюсь через FireDac.
      FDQuery+FDConnecton+Bind+Grid
      Запрос выполняется моментально, но как только подключаю Grid - начинает висеть. Grid заполняется очень долго - секунд 12-15.
      Причем результат запроса - всего 230 строк, хоть и join присутствует.
      Куда копать? Может дело быть именно в FMX?
    • От notricky
      Суть вопроса в заголовке.
      Есть ли какие-то настройки у базы или FireDAC чтобы в английской системе (винда 7) русский текст отображался не вопросами, а русским текстом?
      Настройки у БД UTF-8.
    • От Евгений Корепов
      Обнаружил очередной глюк Tokyo - сломали Text в Android. А именно порушили раскраску символов Юникода.
      Воспроизводится просто :
      procedure TFormMain.FormCreate(Sender: TObject); Var Text1: TText; begin Text1:=TText.Create(Self); Text1.Text:='|' + Char($2713) + '|'; Text1.Font.Size:=48; Text1.Color:=TAlphaColorRec.Red; Text1.Align:=TAlignLayout.Client; Text1.TextSettings.HorzAlign:=TTextAlign.Center; Text1.TextSettings.VertAlign:=TTextAlign.Center; FormMain.AddObject(Text1); end; На первом скриншоте этот код выполнен в Berlin, все выглядит как задуманно. На втором скриншоте этот же код в Tokyo.


    • От notricky
      Собственно как это делают люди?

      Речь, конечно, не про выполнение скрипта "update table set...", а про использование Edit/Post с изменением как в Датасете, так и в БД.

      Какие нужны настройки, в частности у TFDQuery.
      // настройки qr.UpdateOptions = [KeyFields = id][UpdateChangedFields = true] // при этом селект не смотрит напрямую в theTable, но id - это поле theTable qr2.UpdateOptions.UpdateTableName := 'theTable'; qr2.Edit; qr2.FieldByName('Str').Value := Format('%s-%d',[qr2.FieldByName('Str').AsString, Code]); qr2.Post; В такой форме позволяет менять датасет, но в БД данные не скидываются. БД SQLite.
    • От 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-шником. Я правильно понимаю?
  • Последние посетители   0 пользователей онлайн

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