We have recently upgraded some software that used to use Sybase SQL
Anywhere 5.0 but that now uses Sybase Adaptive Server Anywhere 9.
What we realized is that after running our old SQL scripts that
contain French accents (e.g. char(233) for =E9), the accents no longer
display correctly in our software. For example, char(233) or =E9,
shows
up as =DA instead after running our script.
After initial investigation, we fired up Interactive SQL (isql) in
our
old environment (SQL Anywhere 5.0) and noticed that the dbms returned
that it was using charset OEM.
When running dbisql in our new environment (Adaptive Server Anywhere
9.0), we noticed that the DBMS was now returning that it was using
codepage 1252.
I have tried to use my old scripts as such with no luck:
dbisql.exe -c "uid=3Ddba;pwd=3Dsql" -codespace cp1252 -datasource=3D"MyDB"
myscript.sql
Note that myscript.sql contains: UPDATE user SET firstname =3D 'Andr'
||
char(233) WHERE userid =3D 1;
The update completes, however char(233) gets updated to that crazy =DA.
I have also tried to include the following at the top of
myscript.sql:
SET TEM****ARY OPTION DEFAULT_ISQL_ENCODING =3D 'cp1252';
SET TEM****ARY OPTION DEFAULT_ISQL_ENCODING =3D 'cp850';
This did not change anything.
I do not wish to re-encode all my scripts to Unicode, and would
prefer
to keep writing my SQL scripts the same way as usual and use a SET
command instead at the top of the script instead.
Would anybody have any recommendations and/or solutions to my
problem?
Thank you.