$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);