I have a form on one page:
One of the input fi
Try that in your script (index.cgi) :
use Encode;
Then...
$search_string = decode_utf8( $search_string );
Another idea (if you want to create a UTF8-friendly hash of your CGI input) :
require Encode;
require CGI;
my $query = CGI ->new;
my $form_input = {};
foreach my $name ( $query ->param ) {
my @val = $query ->param( $name );
foreach ( @val ) {
$_ = Encode::decode_utf8( $_ );
}
$name = Encode::decode_utf8( $name );
if ( scalar @val == 1 ) {
$form_input ->{$name} = $val[0];
} else {
$form_input ->{$name} = \@val; # save value as an array ref
}
}
Taken from : http://ahinea.com/en/tech/perl-unicode-struggle.html