cancel
Showing results for 
Search instead for 
Did you mean: 

Non english characters?

Former Member
3,677

I am trying to migrate the Sybase Anywhere database from version 6.0 to 12. I am using Sybase Central to 'unload the data and structure' and load to the new database. The migration is successful, however in the new database the non-english characters like ä , ö become unreadable, such as Σ and ÷ etc. I think it is some character encoding problem. How can I fix it? Thanks

VolkerBarth
Contributor

What collation are you using in the v6 database and in the v12 databases?

For newer versions,

select db_property('Collation')

(or Sybase Central) will tell you this, otherwise you can use the DBINFO tool.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member

Rebuilding databases where the original database collation does not match the character set stored in the database can be tricky. A common issue in early SA databases was databases using collations with cp850 (DOS character set) talking to Windows applications loading the database with cp1252 (Windows character set). Since early databases did not have char set conversion, or had it but it was off by default, it was possible to work for years without realizing that the data and collation did not match.

To fix a situation like this, the essential steps are:

  1. Identify exactly what char set is in the old database.
  2. If the char set and collation don't match, unload the database without char set conversion. This ensures that the data you get in your output files has not been mangled by conversion. The data is in the char set that was stored in the database. If possible, use an editor that can handle the char to view the data and ensure that it looks correct.
  3. Create your new database with a compatible collation, one that can handle all of the characters in the data to be loaded.
  4. Load the new database, specifying the char set of the unloaded data. Char set conversion should be enabled assuming that you have correctly identified the unloaded data's char set and have selected a compatible collation.

If the original database contains data with mixed and incompatible char sets, manual cleanup will be required. Unload the data without conversion, use an editor that can handle the characters in the files, and clean up the data before attempting to load it into the new database.

Here is a description of some of the considerations and the tools available in SA12: http://dcx.sybase.com/index.html#1201/en/dbadmin/changing-collation-natlang.html*d5e29036

Answers (1)

Answers (1)

MCMartin
Participant

Create the new database manually using e.g. dbinit or sybase central and define the correct collation and encoding for the new database. Then unload the old database into the existing new database. See the -ac command line switch of dbunload or use the sybase central wizard.

Former Member
0 Kudos

Thanks, I have tried that as well, but still same problem.

justin_willey
Participant

If you can specify the collation your original database was using, and the one you are using for the new one, someone may be able to spot the problem.