Delphi 2009 и Firebird 2.1 = Полный Юникод?

Кто-нибудь начал создавать приложения Unicode или конвертировать существующие приложения в Unicode?

Как вы настраиваете Firebird, чтобы у вас было меньше проблем, особенно с атрибутом CHARSET?

Возникла ли проблема? Есть еще что-нибудь, о чем я должен знать?

Я просто готовлюсь к тому, чтобы получить меньше сюрпризов, прежде чем сесть на поезд Unicode.


person Atlas    schedule 29.10.2008    source источник
comment
Аналогичный вопрос и некоторый опыт: stackoverflow.com/questions/2302670/   -  person mjn    schedule 02.07.2010


Ответы (3)


Используйте UTF8 в качестве набора символов для вашей базы данных Firebird. В любом случае это единственный вариант, который поддерживает все возможные символы, поскольку UNICODE_FSS ушел в прошлое.

Однако это ортогонально вашему вопросу о создании программ Unicode с помощью Delphi. Даже для новой программы Ansi Delphi использование кодировки UTF8 будет вашим лучшим вариантом, поскольку вы можете переводить программы Ansi (например, используя GNU gettext для Delphi http://dybdahl.dk/dxgettext/) на другие языки, и только с базой данных UTF8 вы можете хранить весь текст, который может быть отправлен в базу данных, в зависимости от кодовой страницы Windows. Альтернативой было бы использование разных наборов символов базы данных для разных развертываний, и тогда вы больше не сможете просто обмениваться файлами базы данных или переносить данные между установками без предварительного их перекодирования.

При разработке убедитесь, что ваша программа администрирования баз данных безупречно работает с базами данных UTF8. Поскольку большинство из них написано на Delphi, у вас могут возникнуть проблемы, если он не использует элементы управления с поддержкой Unicode.

person mghie    schedule 01.11.2008

это «края» приложения, где вы увидите проблемы (чтение / запись файлов, библиотеки DLL, хранилище и т. д.).

ini: я перешел с TIniFile (только ansi) на TMemIniFile (не забудьте вызвать UpdateFile).

Что касается части вашего вопроса о Firebird, у меня нет опыта в этом.

person X-Ray    schedule 29.10.2008

Насколько мне известно, единственная часть Delphi 2009, в которой не включен Unicode, - это консольные функции, такие как readln и Writeln. Остальное должно быть полностью в юникоде.

person Toon Krijthe    schedule 29.10.2008