Skip to Content.
Sympa Menu

freetds - Re: [freetds] charset problem with Sybase on SunOS server and Ubuntu client

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "James K. Lowden" <jklowden AT freetds.org>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] charset problem with Sybase on SunOS server and Ubuntu client
  • Date: Wed, 5 Nov 2008 22:19:57 -0500

Frederick.Dubberspear AT sogetthis.com wrote:
>
> In freetds.conf we have:
>
> [$SERVER_NAME]
> host = $IP_ADDRESS
> port = $PORT
> tds version = 5.0
>
> Upon running the script, we get the errors:
>
> Cannot find the requested character set in Syscharsets: name = 'UTF-8'.
> No conversions will be done.
> Changed data
> Changed database context to 'master'.

I think this was fixed long ago. If you have a problem with 0.82, I'll
look into it.

Sybase has a "server makes right" policy: the client sends the server its
preferred encoding in the login packet, and the server uses that encoding
for all communications with that client for that connection.

However, the *name* -- the literal string used to denote the encoding --
is determined by Sybase, and it doesn't match, say, what GNU uses for
their iconv library. We have a table to convert the canonical name to
Sybase's:

$ grep -i utf src/tds/sybase_character_sets.h
, { "UTF-8", "utf8" }

The error message you're seeing comes from the server. It means Sybase
doesn't recognize "UTF-8" as the name of any encoding. The login packet
should send 'utf8'.

You might be able to get away with setting client charset = utf8, but
you're probably better off upgrading to 0.82.

HTH.

--jkl




Archive powered by MHonArc 2.6.24.

Top of Page