Subject Re: [firebird-support] Changing database locale
Author Christian Waldmann
> Hi!
> I have the following problem:
> I have a database that uses the WIN2151 locale (kyrilic). Now I need to
> have the database locale set to UTF8 to support more languages.
> From what I read so far, you can only specify the locale on creation of
> a db. So what I probably need to do is:
> 1. Dump the whole database
> 2. create a new one with locale set to UTF8
> 3. Recreate the contents of the dump in the newly created db.
> So far so good.
> Now the problems begin. If I use GBAK it seems that there is no way to
> change the locale. The database is always recreated with the initial
> locale (or did I miss something?).
> If I use fbcopy there are errors occuring during the copy where the
> error message seems not to say much (I would investigate this further if
> this should be the way to go).
> I also tried a third option: Dumping the DDL with FlameRobin recreating
> the ddl on the new db. Then dumping each table individually as sql
> insert stmts and inserting them on the new db. This might work, I still
> have to check, because on my last try there were some triggers in the
> way that changed the inserted values to some unwanted value (Next I will
> try to not create the triggers till the database contents are
> recreated).
> So what I would love to know is if I'm missing an easier way to do this
> or if it really is that complicated?
> Kind regards, Amac
You can use IBPump from Clevercomponents . Create a new database with
UTF-8 support and pump the data with IBPump from the old to the new
database. Triggers can be disabled during pumping.

I use it to pump from 1.5.6 to 2.1.3 databases

Good luck