Michael Peppler
Sybase Consulting
Sybase on Linux
Install Guide for Sybase on Linux
General Sybase Resources
General Perl Resources
BCP Tool
Bug Tracker
Mailing List Archive
Downloads Directory
Sybase on Linux FAQ
Sybperl FAQ
Michael Peppler's resume

sybperl-l Archive

Up    Prev    Next    

From: "Dorfman, Robert" <DorfmanR at dnb dot com>
Subject: RE: Selecting charset or language from sybperl
Date: Feb 4 1999 8:20PM

I was following this thread a couple of weeks ago, but I haven't seen any
more information on it. I've recently become involved with MS-SQL Server 7.0
at my company. When you install this the default character set is Code Page
1252. According to their documentation, this is the ISO 8859-1 character set
(also known as the Latin 1 or ANSI character set). We use this character set
on our UNIX data servers and when we've transferred the information into SQL
Server we get the extended European characters correctly displayed with the
MS supplied front-ends.

Robert Dorfman
Dun & Bradstreet

-----Original Message-----
From: Michael Peppler []
Sent: Friday, January 22, 1999 10:46 AM
To: SybPerl Discussion List
Cc: Michael Peppler;;
Subject: Re: Selecting charset or language from sybperl

>>>>> "Antonio" == Antonio Vasconcelos  writes:

Antonio> At 13:44 21/01/99 -0800, Michael Peppler wrote:
>> I suspect that IIS and SQL Server is converting the iso8859-1
>> characters to some MS encoding of some sort. I did a quick run to
>> check all the character values/mappings here and the mapping that 
>> is turned into on your second example doesn't exist (Solaris 7,
>> Sparc, Netscape 4.5).

Antonio> Yes, that's my opinion now.  I did an additional test. Using
Antonio> Micro$oft Query with an ODBC datasource to the SQL server I
Antonio> only got the correct chars if I set the option "Convert OEM
Antonio> to ANSI characters".  So a good gess is that the chars are
Antonio> stored in some win or ms-dos codepage (maybe cp850 or cp437)
Antonio> and I must make sybperl do the conversion to iso-8859-1. Is
Antonio> there any way to make sybperl do this automagiclly ?

If the Sybase client libraries *knew* that the server charset was
cp850 or whatever then they would normally perform the conversion
automagically (at least I'm pretty certain they would). In this case
it is possible that the Client libraries don't realize that the server 
is not running in iso_1/us_english locale, and so they don't perform
the conversion.

I'm not sure at all how to force Sybase::CTlib to perform the
conversion, although checking the configuration of teh MS-SQL server
might give a clue.

Michael Peppler         -||-  Data Migrations Inc.       -||-
Int. Sybase User Group  -||-
Sybase on Linux mailing list: