[freetds] Charset question

jack brack jack.brack at inbox.com
Fri Apr 14 04:51:33 EDT 2006


> -----Original Message-----
> From: james.k.lowden at alliancebernstein.com
> Sent: Thu, 13 Apr 2006 11:55:36 -0400
> To: freetds at lists.ibiblio.org
> Subject: Re: [freetds] Charset question
> 
>> From: jack brack
>> Sent: Thursday, April 13, 2006 3:30 AM
>> From: james.k.lowden at alliancebernstein.com
>>>> 
>>>>> Turn on TDSDUMPCONFIG to confirm it's being used.
>> 
>> It is, but the packet dump disagrees.
>> 
>> TDSDUMPCONFIG says:
>>  option = 'client charset' value = 'iso_1'.
>>  tds_config_login:453: client charset is iso_1.
>> 
>> TDSDUMP says:
>>  names for ISO-8859-1: ISO-8859-1
>>  names for UTF-8: UTF-8
>>  names for UCS-2LE: UCS-2LE
>>  names for UCS-2BE: UCS-2BE
>>  iconv to convert client-side data to the "UTF-8" character set
>>  tds_iconv_info_init: converting "UTF-8"->"UCS-2LE"
>> [snip]
>> 01c0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........
> ........|
>> 01d0 00 0c 05 00 00 00 43 54-2d 4c 69 62 72 61 72 79 |......CT
> -Library|
>> 01e0 0a 05 00 00 00 00 0d 11-65 6e 67 6c 69 73 68 00 |........
> english.|
>> 01f0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........
> ........|
>> 
>> 16:32:00.409751 Sending packet
>> 0000 02 01 00 61 00 00 00 00-00 00 00 00 00 00 07 00 |...a....
> ........|
>> 0010 00 00 00 00 00 00 00 00-00 00 00 00 00 55 54 46 |........
> .....UTF|
>> 0020 2d 38 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |-8......
> ........|
>> 0030 00 00 00 00 00 00 00 00-00 00 00 05 01 35 31 32 |........
> .....512|
>> 
>> So UTF-8 gets in there somehow.
> ...
>> If I run
>>  unset LANG
>> then the login is attempted with ANSI_X3.4-1968:
> ...
>> Ack!
> 
> Hi Jack,
> 
> Ack, indeed.  I'm forming a theory I don't like, and I wonder if you
> would try something for me?
> 
> IIRC, you're running this under PHP with sybase extensions, using
> ct-lib.  I wonder if something in the ct-lib initialization overrides
> your settings somehow.  To find out, I'd like to try a few other ways,
> to see if we can isolate the module that's insisting on UTF-8.
> 
> Please use TDSDUMP with:
> 
> 	tsql
> 	bsqldb
> 	src/ctlib/unittests/t0001.c

I don't have these installed. I'm using the Ubuntu Dapper, which goes stable in six weeks.

I could install these from source, but then I wouldn't be using the supported package (we chose Ubuntu Dapper because of the 5 year support life).

Is there something else I can try?

> 
> There are three possible outcomes:
> 
> 1.  all of them log in as UTF-8
> 2.  none of them log in as UTF-8
> 3.  only the unit test logs in as UTF-8
> 
> If the first, then I don't understand.  If the second, it's something in
> PHP.  If the third, well, it's something in ct-lib.
> 
> Thank you for your persistence and care.  One of us will surely learn
> something, eventually.
> 
> Regards,
> 
> --jkl
> 
> 



More information about the FreeTDS mailing list