DBI version : 1.605
DBD::Oracle version : 1.22
Database : 11.1.0.7 (don't think this matters)
DB Charset : AL32UTF8 (this definitely matters)
NLS_LANG : AMERICAN_AMERICA.AL32UTF8
Consider the following script ...
#!/usr/bin/perl -w
use strict;
use warnings;
use DBI qw();
use DBD::Oracle qw();
my $uidpwd = 'usr/p...@xxx';
my $dbh = DBI->connect(
'dbi:Oracle:',
$uidpwd,
'',
{RaiseError => 1, PrintError => 0},
);
my $sth = $dbh->prepare(q(
select chr(14844588)
from dual
));
$sth->execute;
my ($sym1, $sym2, $sym3);
$sth->bind_columns(\($sym1));
$sth->fetch;
print "Sym (1) = $sym1\n";
$sth = $dbh->prepare(q(
BEGIN
:ret := chr(14844588);
END;
));
$sth->bind_param_inout(':ret', \$sym2, 10);
$sth->execute;
print "Sym (2) = $sym2\n";
$dbh->disconnect;
If I run the script, I would expect to see the same results from the 2
print statements. However, this is what I see ...
stbald...@au-stb-mobile:~/dev$ ./utf8.plx
Sym (1) = €
Sym (2) = â¬
Anyone have any clues as to what is happening?
Thanks,
Steve
This email is intended solely for the use of the addressee and may
contain information that is confidential, proprietary, or both.
If you receive this email in error please immediately notify the
sender and delete the email.