I'm having trouble with an international setting. I am trying to use french Canadian
into my application. I am using dbi to insert into an oracle table. The intent is to
pull out and display as french. I am not sure if I am inserting correctly, as I am
using xterm to display the table, or a web interface.
The word I am trying to insert is Pr�nom. This is invariably being displayed as Prenom
or Prinom. I have to use a stored procedure to insert, and the code is below. I'm
passing the parameters in a : delimited string, and the substitution is to allow for
's in the text.
The annoying thing is the print of $txt just prior to the update still has the accent
mark. The dba tells me that the database has the correct value, so I can't rule out
the browser display.
Has anybody wrestled with international fonts????
sub upd_trtext
{
my ($dbh,$plist)=@_;
my ($update_cursor,$output,$out_message);
my ($log_error);
my ($fld,$lan,$txt,$adm)=split(":",$plist);
$txt=~ s/\'/\'\'/g;
print "txt $txt<br>";
$update_cursor = $dbh->prepare("begin sp_Upd_MDSAA22_TRTEXT(
\'$fld\', \'$lan\', \'$txt\', \'$adm\',
:output , :out_msg); end;");
if (!$update_cursor)
{
$output=0;
$out_message="failed to prepare cursor";
return($output,$out_message);
}
### Bind the output variables from the Stored Procedure, to perl variables.
$update_cursor->bind_param_inout(':output', \$output, 10);
$update_cursor->bind_param_inout(':out_msg', \$out_message, 50);
unless($update_cursor->execute)
{
# print "Problem executing\n";
$log_error = "Error 2 updating language: " . $dbh->errstr;
# print "$log_error\n";
$output=2;
return($output,$log_error);
}
return($output,$out_message);
}
Tim Vorce
Ford Motor Company
[EMAIL PROTECTED]