iconv UTF-8 // IGNORE все еще производит ошибку «незаконный символ»

$string = iconv("UTF-8", "UTF-8//IGNORE", $string); 

Я думал, что этот код удалит недопустимые символы UTF-8, но он выдает [E_NOTICE] "iconv(): Detected an illegal character in input string" . Что мне не хватает, как правильно удалить строку из незаконных символов?

Выходной набор символов (второй параметр) должен отличаться от входного набора символов (первый параметр). Если они совпадают, то если в строке есть недопустимые символы UTF-8, iconv отклонит их как незаконные в соответствии с набором символов ввода.

Чтобы просто игнорировать уведомление, вы можете использовать «@»:

$string = @iconv("UTF-8", "UTF-8//IGNORE", $string);