1

I'm facing problems trying to convert a Firebird 3 database with character set WIN1252 to UTF8.

I've performed the following procedures:

  1. Extract the DDL from the database and the definitions, so I created the new database with UTF8 Character Set, Collate UNICODE_CI_AI. The database structure was created correctly.
  2. After when I try using fbcopy to copy data from WIN1252 database to new UTF8 database the process is aborted returning the error:

Message: isc_dsql_execute2 failed

SQL Message: -104 can not format message 13: 896 - message file C: \ WINDOWS \ SYSTEM32 \ firebird.msg not found

Engine Code: 335544849 Engine Message: Malformed string Enabling triggers ... done.

Before using the FbCopy tool, I tried to perform the following commands through backup and restore of the WIN1252 database:

-FIX_FSS_D UTF8 -FIX_FSS_M UTF8

or

-FIX_FSS_D WIN1252 -FIX_FSS_M WIN1252

However, I still get the same error.

Mark Rotteveel
  • 100,966
  • 191
  • 140
  • 197
Marcoscdoni
  • 955
  • 2
  • 11
  • 31
  • 1
    Using `-FIX_FSS_D` or `-FIX_FSS_M` with the wrong character set will logically corrupt your database; you should **not** use these options unless you are absolutely sure that you need them. It might be better to recreate your database structure from scratch and then pump the data. In any case, please make sure that the error message can be properly formatted (eg by copying the firebird.msg from your Firebird install to C:\Windows\System32, so we can find out what the actual error is. – Mark Rotteveel Mar 14 '18 at 16:37
  • It was exactly what I did, the structure was created from scratch. However when using Fbcopy I can not perform the data pump due to the error Malformed string – Marcoscdoni Mar 14 '18 at 16:40
  • In any case, it might be better to ask this question on the firebird-support list. Unless you can manage to create a reproducible example that can be posted here, Stack Overflow will not be a suitable venue for this question. – Mark Rotteveel Mar 14 '18 at 16:41
  • Can you remove all non-Latin string constants from triggers, procedures and other PSQL blocks ? – Arioch 'The Mar 27 '18 at 09:06

0 Answers0