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