Because I always forget how to handle Unicode input/output in Perl .. a few notes to help jog my memory for next time:
Remember to use both CGI.pm and Encode.pm:
use CGI qw(:standard); use Encode qw(decode encode);
Handle webform input with Unicode characters:
my $input = decode('utf8', param('input'));
Prepare scalar variables to cope with Unicode characters:
my $output = encode('utf8', $input);
Declare the correct Content-Type when creating HTML:
print header(-type => 'text/html', -charset => 'utf-8'); print start_html(-title => 'Page with Unicode', -encoding => 'utf-8');
Now you can print your Unicode variables without error:
print div({-id => 'output'}, $output);