I had a similar problem recently.

In your freetds.conf file you'll want an entry similar to the following:

[DataSourceName]
        host = <IP Address>
        port = <databaseport>
        #version 8.0 seems to work  with sql server 2005
        tds version = 8.0
        client charset = UTF-8

client charset is the important bit here.

I was doing this with Perl from Linux, I expect UTF-8 is the best choice here as well, given Perl is the Client


Check if this helps (from Sybase Manuals, but may work on MSSQL server as well):

Controlling Character Conversion During a Session

set char_convert allows the user to decide how character set conversion operates during a particular work session. Use set char_convert to:

* Set character set conversion on or off

* Start conversion into a specific character set

* Turn error reporting on or off

The syntax for set char_convert is:

set char_convert {off |
{on [with {error | no_error}]} | charset [with {error | no_error}]}