iconv UTF-8 / / IGNORE по-прежнему создает ошибку "незаконный символ"
$string = iconv("UTF-8", "UTF-8//IGNORE", $string);
Я думал, что этот код удалит недопустимые символы UTF-8, но он производит [E_NOTICE] "iconv(): Detected an illegal character in input string"
. Что мне не хватает, Как правильно очистить строку от незаконных символов?
2 ответов
выходной набор символов (Второй параметр) должен отличаться от входного набора символов (первый параметр). Если они одинаковы, то если в строке есть незаконные символы UTF-8,iconv
отклонит их как незаконные в соответствии с набором входных символов.
чтобы просто игнорировать уведомление, Вы можете использовать"@":
$string = @iconv("UTF-8", "UTF-8//IGNORE", $string);