Когда я набираю русское слово на вкладке нижеприведенной программы Perl и нажимаю «Отправить», я вижу вместо них русские буквы.Как передать параметр HTTP с страницы CP1251 на обработчик UTF-8?
Как передать данные со страницы, закодированной как CP1251, в сценарий обработчика, который нуждается в строках UTF-8? (Приведенный ниже сценарий является простым примером такой ситуации.)
#!/usr/bin/perl
use strict;
use warnings;
use CGI qw/param/;
if (param('x')) {
print "Content-Type: text/plain; charset=utf-8\n\n";
print "[[".param('x')."]]";
} else {
print "Content-Type: text/html; charset=windows-1251\n\n";
print '<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"></head>';
print "<form><input name='x'/><input type='submit'/></form>";
}
'accept-charset' кажется лучшей идеей. Также см. Http://stackoverflow.com/a/3721098/1331451 – simbabque