Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Кодировка и поиск по ней
 
 автор: Vincento   (17.12.2013 в 12:03)   письмо автору
 
 

сам скрипт в файле с кодировкой 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
и т.д.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования