Subject | Changing database locale |
---|---|
Author | amacprogramming |
Post date | 2010-05-18T09:31:53Z |
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
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