Skip to Content.
Sympa Menu

freetds - Re: [freetds] Freetds and Unicode

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Hugo Freire <hfreire AT abajar.com>
  • To: freetds AT lists.ibiblio.org
  • Subject: Re: [freetds] Freetds and Unicode
  • Date: Tue, 20 Oct 2015 19:25:04 +0200

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?



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






Archive powered by MHonArc 2.6.24.

Top of Page