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.
>
>


Reply via email to