SQLite3 ODBC, Русская кодировка в cp1251
Доброго времени суток господа программисты, у меня тут вопрос возник. Подключаю SQLite3 к Delphi через ODBC драйвер
Так вот база данных содержит весь текст в кодировке cp1251, а сам драйвер нарочно читает только в UTF-8 из чего получается очень много неприятных букв. Можно как нибудь используя ConnectionString или Query заставить драйвер работать правильно?
Поползав по интернету нашел только вот такой вариант :
http://community.i-rs.ru/index.php?action=printpage;topic=8835.0
Спасибо, вопрос решился прописыванием в C:win2003odbc.ini
[SQLite3 Datasource]
CHARSET = cp1251
Но этот вариант выглядит очень топорно.
Provider=MSDASQL;Driver={SQLite3 ODBC Driver};Database=%s
Так вот база данных содержит весь текст в кодировке cp1251, а сам драйвер нарочно читает только в UTF-8 из чего получается очень много неприятных букв. Можно как нибудь используя ConnectionString или Query заставить драйвер работать правильно?
Поползав по интернету нашел только вот такой вариант :
http://community.i-rs.ru/index.php?action=printpage;topic=8835.0
Спасибо, вопрос решился прописыванием в C:win2003odbc.ini
[SQLite3 Datasource]
CHARSET = cp1251
Но этот вариант выглядит очень топорно.
1 ответов
Нашелся частичный вариант как прочитать данные правильно, но вопрос всё-же остаётся открытым.
SELECT mid, CAST(name AS BLOB) name FROM TlNames WHERE gid = %d
cbxMapName.Items.Values[hQuery.FieldByName('mid').AsString] := hQuery.FieldByName('name').AsString;