![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
#3
| |||
| |||
|
|
This sounds like an old problem that is somewhat self inflicted; but all too common. The effect is the bits-in are not the same as their interpretation or the collation. It was very common for users of an older version to say the database is using a cp850 collation (or winlatin1 or something else entirely) but then stuff local system charset based characters into the database tables and assume that it was perfectly normal. Unfortunately that was often standard practice back then. It was also all too easy to just do that and not understand that was actually occurring. In your case I would assume you actually have CP1252 characters stored inside the database (even those the collation was cp850). That was always possible (and unfortunately all too common a practice) because: A - It often just seemed to work. B - Older applications didn't consider collations and charset conversions. and C - Version 5.x did not do any charset conversions [though sometimes a MS ODBC code page translator driver was sometimes chosen in some cases] You should check the `select cast( column as binary)` of your values (or look at the data from an unload table) to see which code page they match; http://en.wikipedia.org/wiki/Code_page_1252 http://en.wikipedia.org/wiki/Code_page_850 If your ä,ö, and ü characters are E4 and higher then you have CP1252 chars inside you CP850 database and should rebuild it as a CP1252 (or at least winlatin1 if 1252 is not available) with the version 5.5 s\w and then do your upgrades. [CP850 have those characters in the 0x81 through 0x94 range] Thomas Hoffmann> wrote in message news:4acf54a4.37d8.1681692777 (AT) sybase (DOT) com... We can unload a Database from SQL Anywhere Vers. 5.5 into a SQL 11 Database with the collation cp850 (charset Windows-1252) with the unload-utility from Sybase SQL Anywhere 11. But we don't can convert this SQL Anywhere 11 cp850 database in a SQL Anywhere UTF-8 database. From Version 9.0 to 11.0 it works. We have try: dbunload -c "uid=dba;pwd=XXX;charset=cp850;dbf=customer.db " -ac "uid=dba;pwd=sql;charset=UTF-8;dbf=newsql11.db" -xx The dbunload.exe have some problems with special signs (ä,ö,ü etc.) Can you help us? Thank you! |
#4
| |||
| |||
|
|
This sounds like an old problem that is somewhat self inflicted; but all too common. The effect is the bits-in are not the same as their interpretation or the collation. It was very common for users of an older version to say the database is using a cp850 collation (or winlatin1 or something else entirely) but then stuff local system charset based characters into the database tables and assume that it was perfectly normal. Unfortunately that was often standard practice back then. It was also all too easy to just do that and not understand that was actually occurring. In your case I would assume you actually have CP1252 characters stored inside the database (even those the collation was cp850). That was always possible (and unfortunately all too common a practice) because: A - It often just seemed to work. B - Older applications didn't consider collations and charset conversions. and C - Version 5.x did not do any charset conversions [though sometimes a MS ODBC code page translator driver was sometimes chosen in some cases] You should check the `select cast( column as binary)` of your values (or look at the data from an unload table) to see which code page they match; http://en.wikipedia.org/wiki/Code_page_1252 http://en.wikipedia.org/wiki/Code_page_850 If your ä,ö, and ü characters are E4 and higher then you have CP1252 chars inside you CP850 database and should rebuild it as a CP1252 (or at least winlatin1 if 1252 is not available) with the version 5.5 s\w and then do your upgrades. [CP850 have those characters in the 0x81 through 0x94 range] Thomas Hoffmann> wrote in message news:4acf54a4.37d8.1681692777 (AT) sybase (DOT) com... We can unload a Database from SQL Anywhere Vers. 5.5 into a SQL 11 Database with the collation cp850 (charset Windows-1252) with the unload-utility from Sybase SQL Anywhere 11. But we don't can convert this SQL Anywhere 11 cp850 database in a SQL Anywhere UTF-8 database. From Version 9.0 to 11.0 it works. We have try: dbunload -c "uid=dba;pwd=XXX;charset=cp850;dbf=customer.db " -ac "uid=dba;pwd=sql;charset=UTF-8;dbf=newsql11.db" -xx The dbunload.exe have some problems with special signs (ä,ö,ü etc.) Can you help us? Thank you! |
![]() |
| Thread Tools | |
| Display Modes | |
| |