Subject Upgrade Firebird 1.5.3 to 2.5.4 - Character Set and Collations
Author stwizard

Greetings All,


I recently did a metadata only backup of my Firebird 1.5.3 database. 

Please note this database has a character set of NONE and anywhere where this could be set has remained NONE and no Collation was set either.

NOTE: We DO NOT use BLOBs we use VarChar for our memo fields.


On a new computer I installed Firebird 2.5.4 and all required external UDFs.


I then attempted to do a metadata only restore using the NONE Character Set as follows:

gbak -r -p 8192 -v -fix_fss_d NONE -fix_fss_m NONE -user SYSDBA -pas masterkey "C:\Frontline\CollectingIT\Database\COLLECTINGIT.bak" "C:\Frontline\CollectingIT\Database\CollectingIT_METADATA_RESTORE.fdb"


and it failed with this error:


gbak:restoring table CR_COMPLIANCE_CONDITION

Error: Invalid metadata detected. Use -FIX_FSS_METADATA option.

Malformed string

Exiting before completion due to errors


This I tried using ASCII for the character set and it failed with this error:


gbak:restoring stored procedure SPS_CLEAR_BKRCY_ON_HOLD_STATUS

Error: Cannot transliterate character between character sets

gds_$put_segment failed

Exiting before completion due to errors


Then I tried UTF8 and receive the same error as above.


Then I tried ISO8859_1 which was my last hope and it worked.  Not sure why the other three failed.



1                    I assume this is only changing the character set for the PSQL (Stored Procedures, Triggers, etc.) to Firebird v2.5.4 standards is that right and if so is it OK to use this character set?

2                    We are located in the central part of the U.S. and need English only (or only characters that can be entered on a standard U.S. keyboard), so is it OK to keep the character set as NONE?

a.       Would it be better to change it to another character set and if so which one would be best for English?  If changing to another character set I need to be sure it will not change any existing data, nor affect the length of data that can be stored in the field.

b.      If it is recommended to change is there a way to update the entire database at once? 


Then this brings up the Collation setting on what is best to use with the character set chosen and how to change that for the entire database at once.


Any tips on any documents to review would be nice as well.


Thanks to any and all who take the time to reply.