Unicode from Linux/OS X to SQL Server nvarchar

Ingmar Koecher <[email protected]>
Newsgroups gmane.comp.db.tds.freetds
Message-ID <[email protected]>
Hello,

I'm working on a project where unicode data is written to a SQL Server
database, e.g. a nvarchar field. Since SQL Server only supports UCS-2
encoding, I am inclined to use the SQL_WVARCHAR data type to bind the
parameter.

Since Linux is using UTF-8, I am converting the UTF-8 string to UTF-16 and
then trying to bind with SQLBindParameter. This works with the MySQL ODBC
driver, but not with FreeTDS where I get error "[FreeTDS][SQL Server]Invalid
data type (0) (ret=-1)".

I found one post where it was suggested that one use UTF-8 as FreeTDS
doesn't support UCS-2, but I am confused as to how this would work since SQL
Server doesn't support UTF-8. Does FreeTDS convert it from UTF-8 to UCS-2?

Basically, I am curious what the recommended way is to store unicode data
(whether it's UTF-8 or UTF-16) in a SQL Server database nvarchar field.

Thank you in advance for any suggestions.


Ingmar.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.