perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From michael kapelko <>
Subject Perl + DBD-Oracle, problems with encoding when "PerlHandler Apache::Registry" is in use
Date Fri, 19 Feb 2010 10:47:51 GMT
Here's a short script I used to find out the problem with the Apache::Registry:

#!/usr/bin/perl -wT
use strict;
use warnings;
use CGI;
use DBI;
use DBI qw(:sql_types);
use encoding 'utf-8';

my $cgi = new CGI;
print $cgi->header(-type    => "text/html",
                  -charset => "utf-8");
print $cgi->start_html(-lang => "ru-RU",
                      -title => "Title");
print $cgi->h1("Title");
my $db = DBI->connect("DBI:Oracle:SID=ELTC;HOST=",
                     <username>, <userpassword>, {RaiseError =>
                                                AutoCommit => 0,
                                                ora_charset =>
my $query = "select name from swmgr2.vw_switches where sw_id_ip =
2315046666"; // Selects Russian "name" from DB in UTF-8, because on
the previouse line we asked Oracle to return data to us in UTF-8.
my $stmt = $db->prepare($query);
my $name;
$stmt->bind_columns(undef, \$name);
print $cgi->p($name);
print $cgi->end_html();

When invoked directly by the shell or in web page WITHOUT "PerlHandler
Apache::Registry", the UTF-8 encoded string in Russian is printed just
fine. But when "PerlHandler Apache::Registry" is used, only ???? are
printed in web page.

View raw message