|
|
|
| сам скрипт в файле с кодировкой UTF-8, и если сайт на котором ищу совпадение с такой же кодировкой то все ок, если cp1251 - все плохо. что необходимо сделать чтобы работало все нормально? Вот скрипт
$grab=@file_get_contents($str[$i]);
if ($grab) {
$get = mb_detect_encoding(file_get_contents($str[$i]), array('cp1251', 'utf-8'));
echo "Кодировка первичная сайта ".$get."<br>";
$grab = iconv($get, 'UTF-8', $grab);
if(strstr($grab, $_POST['sour']) != false)
{
echo "совпадения найдено<br>";
} else
{ echo "совпадения не найдено<br>"; }
}
else {
echo "Connection Error. Возможно неверно указан путь<br>";
}
|
| |
|
|
|
|
автор: ASCII (18.12.2013 в 01:49) |
|
|
для: Vincento
(17.12.2013 в 12:03)
| | >mbstring currently implements the following encoding detection filters. If there is an invalid byte sequence for the following encodings, encoding detection will fail.
UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP
For ISO-8859-*, mbstring always detects as ISO-8859-*.
For UTF-16, UTF-32, UCS2 and UCS4, encoding detection will fail always.
mbstring не может отличить cp866 от cp1251 или koi8-r или от ISO-8859-5,
только UTF-8 от ASCII
если кодировок только 'cp1251 и utf-8', то mb_detect_encoding вроде что-то может
а так, ... нужен другой способ узнавать кодировку.
и полезно иногда заглядывать var_dump($переменные)
и file_get_contents($str[$i]) повторяется лишний раз
и strstr() использует больше ресурсов чем например strpos(....) !== false
и т.д. | |
|
|
|