Какая кодировка входа? Если входной кодировкой не является utf-8, то вам будет бесполезно декодировать его как ввод utf-8.
Входные данные поступают из формы HTML? Тогда кодировка, вероятно, совпадает с кодировкой веб-страницы, с которой она пришла. ISO-8859-1
- это стандартная кодировка по умолчанию для американских / европейских локалей. В любом случае, как только вы обнаружите кодировку, вы можете декодировать входные данные:
$name = decode('iso-8859-1',$_[1]{booking}->{LeadNameFirst});
print OUT "name is $name\n"; # utf8 layer already enabled
Некоторые браузеры ищут и уважают атрибут accept-charset
внутри тега <form>
, например,
<form action="/my_form_processor.php" accept-charset="UTF-8">
...
</form>
Это (скрестив пальцы) приведет к тому, что вы получите ввод формы в кодировке utf-8.