Hello.
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=10.102.101.4",
<username>, <userpassword>, {RaiseError => 1,
AutoCommit => 0,
ora_charset => "UTF8"});
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);
$stmt->execute();
my $name;
$stmt->bind_columns(undef, \$name);
$stmt->fetch();
$stmt->finish();
$db->disconnect();
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.
Thanks.