четверг, 4 февраля 2010 г.

SQLite и пути с русскими буквами

Эта статья для тех, кто работал или планирует работать с базами данных SQLite в HiAsm. Да и остальным почитать было бы неплохо. Проблема заключается в интерпретации русских букв в имени файла при открытии базы данных.

Для примера возьмём базу данных Elements\Delphi\Elements.db и попробуем прочитать из неё данные о компонентах. Именно в этом файле находятся сведения обо всех компонентах палитры HiAsm.

Если вы не знаете язык запросов SQL, не беда. Схему я привожу, а язык - дело времени.



При запуске программы может появиться сообщение, что файл sqlite3.dll не найден. Он находится в папке HiAsm, так что скопируйте его в папку Windows. Тогда всё должно работать.

Ну а в открывшемся после запуска программы диалоге выберите файл по указанному выше пути. Вы сразу увидите названия компонентов из палитры и подсказки для них. Однако если вы переименуете базу данных, включив в её название русские буквы, то программа ничего показывать не будет. Именно по этой причине HiAsm нельзя устанавливать в папку с русскими буквами.

Однако теперь решение найдено. На форуме HiAsm вы можете найти обсуждение этой проблемы, я лишь скажу суть. Дело оказалось в том, что передача имени файла должна происходить в кодировке UTF-8, а стандартная передача - это ANSI. Если ANSI конвертировать в UTF-8, то компоненты начинают работать и с русскими путями.



Как видите, всё очень просто. Можете для проверки скопировать базу данных, изменить имя копии и попробовать.

Остаётся лишь добавить, что следующие версии компонентов для работы с SQLite будут самостоятельно заниматься конвертированием, и не нужно будет следить за этим вручную.








Нужны новые идеи бизнеса? Замечательный сайт с большой аудиторией заинтересованных лиц. Продвижение идей, поиск инвесторов и партнёров для новых идей бизнеса.

Вам задолжали денег и не отдают? Существует взыскание долгов через суд, арбитраж. Решаются споры с физическими и юридическими лицами.

Мобильное электричество - это незаменимый во многих областях источник энергии. Мощные дизельные электростанции 100 квт способны обеспечить электричесвом в любом месте.

2 комментария:

  1. HiAsm в папке с русскими буквами запускается, и компоненты нормально отображаются, только программа не компилируется.

    ОтветитьУдалить
  2. А новые версии компонентов будут доступны в новой версии HiAsm?

    ОтветитьУдалить