Our database currently uses Win1252 as the only character encoding. We will soon have to support Unicode in the database tables, which means that we must complete this migration for four databases and about 80 Delphi applications that work internally in a 24/7 environment. Are there any recommendations for migrating databases to UTF-8 (or UNICODE_FSS) for Delphi applications? Some issues are listed below. Thanks so much for your answers!
- are there tools that help with migrating existing databases (250 to 2 GB in size, without Blob fields), by dumping data, re-creating the database using UNICODE_FSS or UTF-8, and loading the data back?
- Are there any known issues with Delphi 2009, dbExpress, and Interbase 7.5 related to Unicode character sets?
- Would you recommend upgrading your databases to Interbase 2009 first ? (This update is planned, but does not have high priority)
- can we just do the database migration and will Delphi process Unicode character sets automatically or will we have to change all character types of characters in each datamodule (dfm and source code) too?
- What strategy would you recommend working with parallel migration in the normal development and maintenance of an existing application? The application works inside the company, so the development and administration of the database is carried out internally.
Update: from the discussion section of the InterBase forum: Unicode Databases in InterBase - really? (this is not a stream from me, but it shows that some problems still exist in InterBase XE).
Here are some reports that I submitted: QC # 92867 - String fields are empty coming from views only if the view includes Union, and when using ClientDataSet. This was found as a lack of data on several of my reports that no longer work.
QC # 91494 - IB Character column data Character fields (for example: Char (1)) are filled with spaces when retrieving through a stored procedure. Tests fail - for example: If Active = "Y". I actively use stored procedures with forms and they do not work.
QC # 91355 - IBSqlMonitor error. IBSqlMonitor's output is somewhat distorted, making this tool useless. (So ββeven my spade is broken!)
Unconfirmed - Permanent fields in the TClientDataSet Error for TWideString.
Other related QC entries:
QC # 94455 SQL Unicode Char Type Error (InterBase XE)
delphi delphi-2009 utf-8 dbexpress interbase
mjn
source share