но ... проверить перед кодированием, если строка уже utf8
иначе вы дважды закодируете его
function str_to_utf8 ($string) {
if (mb_detect_encoding($string, 'UTF-8', true) === false) {
$string = utf8_encode($string);
}
return $str;
}
или используйте
$string = utf8_encode(utf8_decode($string));
чтобы вы не дважды кодировали строку