| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Не могу загрузить кириллицу в SQLite |
| Автор: МАИ 13.9.2013, 06:02 |
| DELPHI XE3 Загрузил через OLE справочник из 1С в таблицу SQLite с использованием оберток SQLite3.pas и SQLiteTable3.pas, но при просмотре таблицы в SQLite Studio вместо кириллицы в полях таблицы показаны крокозябры. Уважаемые гуру, научите, пожалуйста, как правильно загрузить кириллицу. |
| Автор: DYUMON 13.9.2013, 07:37 |
| база сама была создана в каком формате ? походу в формате asci там в студио можно переключить режим кодировки вроде. в правильном формате добавляй данные |
| Автор: МАИ 13.9.2013, 18:56 |
| БД SQLite в формате UTF-8 (по умолчанию) Загружаю через OLE из справочника 1C 7.7, хранящегося в dbf в формате asci. С правильным форматом у меня проблемы (: В Delphi я новичок, многого еще не понимаю. А функций для конверсии так много и типы их параметров такие разные, что я не могу разобраться. Не могли бы Вы прислать пример такой конверсии? |
| Автор: DYUMON 16.9.2013, 13:17 |
| тогда делай UTF8Encode() для загружаемых полей |
| Автор: МАИ 17.9.2013, 09:34 |
| Я выяснил, что проблема не в OLE справочнике из 1С. Загружаю простой текст, а при просмотре таблицы в SQLite Studio латиница нормальная, а вместо кириллицы в полях таблицы показаны крокозябры AnyText: ansistring; for I := 1 to 100 do Begin AnyText := 'Простой AnyText' + inttostr(i); Base.ExecSQL(Format(SQLInsert,[UTF8Encode(AnyText),IntToStr(i)])); End; Без UTF8Encode то же самое |
| Автор: DYUMON 23.9.2013, 08:12 |
| а при создании бд указывал что она utf8 ? |
| Автор: Akella 23.9.2013, 23:11 |
а я бы посоветовал UniDAC, FireDAC |
| Автор: DYUMON 24.9.2013, 10:05 |
| уж как самый жеский вариант ASGSQLite но там некоторые глюки присутствуют. |