У меня есть следующий код PHP:
<?php
ini_set( 'default_charset', 'UTF-8' );
mb_internal_encoding('UTF-8');
function labelValidate($label)
{
echo mb_detect_encoding($label.'x', 'UTF-8, ISO-8859-1');
echo '<br />';
echo mb_detect_encoding('Rio, coração do Brasil', 'UTF-8, ISO-8859-1');
}
labelValidate('Rio, coração do Brasil');
?>
Я получаю этот вывод:
ISO-8859-1 UTF-8
Кто-нибудь знает, почему параметр $Метка имеет кодировку ISO, но прямое эхо, которое я создал внутри функции, имеет кодировку UTF-8?
Это вызывает у меня головную боль, потому что я должен поместить utf8_encode в $ label var, в противном случае я получаюпроблемные символы в выводе.
Спасибо за любую помощь!