Hi,

Which version of Sybase, which version of Sybase OpenClient, and which version 
of DBD::Sybase?

Are you setting the connection charset to utf8 (in the connect() call?)

Thanks,

Michael


On Jun 3, 2010, at 5:22 PM, Dave Rolsky wrote:

> I'm working on an i18n project, and we use Sybase (sigh).
> 
> Newer versions of Sybase have built-in support for Unicode with the 
> univarchar (and other uni*) type.
> 
> However, it seems like DBD::Sybase doesn't have any support for this.
> 
> Specifically, if I take a Perl unicode string (utf8 flag is on) and insert it 
> in a univarchar column, it seems to be inserted as raw bytes (or something).
> 
> What's really bizarre is that when I select the value back I get something 
> like "0065006d00200064006100730068003a002000e200800094".
> 
> Yes, that's a literal string containing a series of 2-digit hex numbers!
> 
> I can translate this back to Perl unicode with this madness:
> 
>    my $chars = do {
>        use bytes;
> 
>        join q{}, map { chr( eval '0x' . $_ ) } $fromdb =~ /(....)/g;
>    };
> 
>    my $unicode = decode( 'utf8', $chars );
> 
> So the data is there, but not in a very usable form.
> 
> Has anyone researched or solved this problem?
> 
> Michael Peppler, if you're reading this, is there any work on supporting 
> Perl's unicode format transparently in DBD::Sybase?
> 
> My employer might be able to pay to have this work done, if you're 
> interested. Alternately, maybe you could give me some hints and I could try 
> to figure it out.
> 
> 
> -dave
> 
> /*============================================================
> http://VegGuide.org               http://blog.urth.org
> Your guide to all that's veg      House Absolute(ly Pointless)
> ============================================================*/
> 

--
Michael Peppler
Sybase on Linux FAQ: http://www.peppler.org/FAQ/linux.html

"A successful [software] tool is one that was used to do something undreamed of 
by its author." -- S. C. Johnson   






Reply via email to