Мой текстовый файл содержит следующую строку: «ãéðä».
Мой пакет PHP для преобразования этой строки выглядит так:
<?php
$text = iconv("UTF-8","ISO-8859-1", "ãéðä");
echo $text;
?>
Когда я запускаю код, я получаю преобразованный текст, который я хочу.
В случае, если у меня более одной такой строки, я использую следующий код:
<?php
$myFile = 'test.txt';
$myHandle = fopen($myFile,'r');
$myText = fread($myHandle, filesize($myFile));
$ridComma = explode(',',$myText);
foreach($ridComma as $item)
{
$text = iconv("UTF-8","ISO-8859-1", $item);
}
fclose($myHandle);
?>
На этот раз я получаю следующую ошибку:
Notice: iconv(): Detected an illegal character in input string in C:\xampp\htdocs\test\test.php on line 8
С той же функцией преобразования я получаю преобразование в одном пакете и ошибку в другом!
Может ли кто-нибудь объяснить мне, почему?
Спасибо !
Ты можешь использовать
$text = iconv('ISO-8859-1', 'UTF-8//IGNORE', $item);
Он будет игнорировать недопустимые символы и удалять их.
Других решений пока нет …