[freetds] Freetds and Unicode

Frediano Ziglio freddy77 at gmail.com
Wed Oct 21 03:53:24 EDT 2015


2015-10-20 18:25 GMT+01:00 Hugo Freire <hfreire at abajar.com>:
> After investigating a little we have detected that data stored in nvarchar
> field in sql server 2008 is in UTF-16LE, but FreeTDS uses UCS-2LE to get the
> data, then freetds raises an exception because UCS-2LE only supports 2 bytes
> chars, and data stored has 4 bytes.
>
> echo -ne '𫠝'| iconv -t utf-16le| hexdump -C
>
> works, but
>
> echo -ne '𫠝'| iconv -t UCS-2LE hexdump -C
>
> raises "iconv: illegal input sequence at position 0" because this char is
> not in UCS-2LE.
>
> Are there any way to force to use UTF-16LE for the server charset?
>
>

See "use utf-16" at http://www.freetds.org/userguide/freetdsconf.htm.

Frediano
>
>
> El 10/8/2015 a las 4:11 PM, Hugo Freire escribió:
>>
>> I'm testing it with last stable version freetds-0.95.20.
>>
>> Thanks,
>> Hugo
>>
>> El 10/8/2015 a las 2:29 PM, Igor Korot escribió:
>>>
>>> Hi,
>>>
>>> On Thu, Oct 8, 2015 at 6:36 AM, Hugo Freire <hfreire at abajar.com> wrote:
>>>>
>>>> Hi,
>>>>
>>>> I'm using Freetds from 4 years ago and works perfectly. Now we are
>>>> trying to
>>>> allow to store Unicode characters in sql server.
>>>
>>> Can you try the latest release? At least for testing purposes.
>>> 4 years ago binary is outdated.
>>>
>>> Thank you.
>>>
>>>> We have detected that we can store without problems any character from
>>>> first
>>>> plane of Basic Multilingual Plane
>>>> https://en.wikipedia.org/wiki/Plane_(Unicode)#Basic_Multilingual_Plane,
>>>> but
>>>> not able to store any character from other planes.
>>>> In the Freetds documentation I can read "At some future time, FreeTDS
>>>> aims
>>>> to support Unicode and other multi-byte character sets."
>>>> After making some tests, we was able to store all Unicode characters
>>>> using
>>>> "client charset ISO-8859-1".
>>>> Unfortunately we have an heterogeneous platform with windows and linux
>>>> systems connecting to the same data, so the data stored by Freetds using
>>>> ISO-8859-1 can't be read by .net application for example.
>>>>
>>>> Our conclusion was that FreeTDS is unable to store all Unicode
>>>> characters in
>>>> SQL Server in UCS-2.
>>>>
>>>> Is it correct?
>>>> Are there any patch that allow to store all UCS-2 characters?
>>>> Is posible create a patch to allow this?
>>>> Can someone guide me to start to create this patch?
>>>>
>>>> Best regards,
>>>> Hugo
>>>> _______________________________________________
>>>> FreeTDS mailing list
>>>> FreeTDS at lists.ibiblio.org
>>>> http://lists.ibiblio.org/mailman/listinfo/freetds
>>>
>>> _______________________________________________
>>> FreeTDS mailing list
>>> FreeTDS at lists.ibiblio.org
>>> http://lists.ibiblio.org/mailman/listinfo/freetds
>>
>>
>
> _______________________________________________
> FreeTDS mailing list
> FreeTDS at lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/freetds


More information about the FreeTDS mailing list