Кто-нибудь начал создавать приложения Unicode или конвертировать существующие приложения в Unicode?
Как вы настраиваете Firebird, чтобы было меньше проблем, особенно с атрибутом CHARSET?
Возникла ли проблема? Есть еще что-нибудь, о чем я должен знать?
Я просто готовлюсь к тому, чтобы получить меньше сюрпризов, прежде чем сесть на поезд Unicode.





Насколько мне известно, единственная часть Delphi 2009, в которой не включен Unicode, - это консольные функции, такие как readln и Writeln. Остальное должно быть полностью в юникоде.
это "края" приложения, где вы увидите проблемы (чтение / запись файлов, библиотеки DLL, хранилище и т. д.).
ini: я перешел с TIniFile (только ansi) на TMemIniFile (не забудьте вызвать UpdateFile).
Что касается части вашего вопроса о Firebird, у меня нет опыта в этом.
Используйте UTF8 в качестве набора символов для вашей базы данных Firebird. В любом случае это единственный вариант, который поддерживает все возможные символы, поскольку UNICODE_FSS ушел в прошлое.
Однако это ортогонально вашему вопросу о создании программ Unicode с помощью Delphi. Даже для новой программы Ansi Delphi с использованием кодировки UTF8 было бы вашим лучшим вариантом, поскольку вы можете переводить программы Ansi (например, используя GNU gettext для Delphi http://dybdahl.dk/dxgettext/) на другие языки, и только с базой данных UTF8 вы можете хранить весь текст, который может быть отправлено в базу данных, в зависимости от кодовой страницы Windows. Альтернативой может быть использование разных наборов символов базы данных для разных развертываний, и тогда вы больше не сможете просто обмениваться файлами базы данных или переносить данные между установками без предварительного их перекодирования.
При разработке убедитесь, что ваша программа администрирования баз данных безупречно работает с базами данных UTF8. Поскольку большинство из них написано на Delphi, у вас могут возникнуть проблемы, если он не использует элементы управления с поддержкой Unicode.
Аналогичный вопрос и небольшой опыт: stackoverflow.com/questions/2302670/…