I believe this has been has been fixed in the latest trunk version of DBD::Oracle
I ran the test below and came up with the same values. If you can test this version of DBD::Oracle http://svn.perl.org/modules/dbd-oracle/trunk/DBD-Oracle-123-RC4.tar and see if it works for you cheers John Scoles > 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. > >