Доброго времени суток!
Такая проблема, скриптом добавляю пользователя в БД, то бишь, есть html страничка с формой для заполнения, и при Субмите вызывается скрипт, который должен выводить что пользователь такой-то добавлен и добавлять его в БД, проблема в том, что русские буквы он выводит так -
User %E0%E1%E2 added to Database (должно быть вместо символов - абв), и в БД добавляет такую-же лабуду.
В чем может быть проблема? на другом сервере скрипт работает нормально.
#!/usr/bin/perl
use DBI;
my $user = "user";
my $pass = "pass";
my $database = "DB";
my $host="x.x.x.x";
my $port="5432";
my $dbh=DBI->connect("dbi:Pg:dbname=billing;host=$host;port=$port", $user, $pass, {RaiseError => 1})
or die $DBI::errstr;
my $result=$dbh->prepare('select * from users');
$result->execute();
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
($a, $l) = split("=",$pairs[0]);
($a, $login) = split("=",$pairs[1]);
($a, $passwd) = split("=",$pairs[2]);
($a, $im) = split("=",$pairs[3]);
($a, $fam) = split("=",$pairs[4]);
($a, $otch) = split("=",$pairs[5]);
($a, $otdel) = split("=",$pairs[6]);
print "Content-type: text/html\n\n";
while (my $name = $result->fetchrow_hashref()) {
if ($login eq ($name->{'login'})) {
print "Error! \n user $login already added to database.";
$result->finish;
$dbh->disconnect;
exit;
} }
my $ins = "INSERT INTO users VALUES ('$login', '$passwd', '$im', '$fam', '$otch', '$otdel')";
$dbh->do($ins);
print ("user $login successfully added to DataBase");
$result->finish;
$dbh->disconnect;