[freetds] Sybase Univarchar Conversion

Brad Wery bradwery at gmail.com
Sat Jun 19 13:01:26 EDT 2010


This one is a bit over my head. With other ODBC drivers, I don't have to do
anything special and Unicode characters come back from the database correct.
With FreeTDS, the characters are converted and some actually turn to "?".

I won't know the configuration of the server before hand, nor will I know
the language of the strings stored in the database.

I noticed that a lot of people ask about this. Is it a bug? I did notice
this code in token.c:

if (curcol->on_server.column_type == SYBLONGBINARY && (
        curcol->column_usertype == USER_UNICHAR_TYPE ||
        curcol->column_usertype == USER_UNIVARCHAR_TYPE)) {
        /* FIXME ucs2 is not UTF-16... */
        /* FIXME what happen if client is big endian ?? */
        curcol->char_conv = tds->char_convs[client2ucs2];
    }

I couldn't help but notice the fix me labels. Is this the cause?

Thanks,

Brad



More information about the FreeTDS mailing list