Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не получается сменить кодировку через iconv

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
razorg1991
Отправлено: 01 Сентября, 2014 - 09:02:14
Post Id


Частый гость


Покинул форум
Сообщений всего: 131
Дата рег-ции: Сент. 2013  


Помог: 0 раз(а)




Мой проект работает на UTF-8, с помощью curl гружу со стороннего сайта некий контент
PHP:
скопировать код в буфер обмена
  1.  
  2. class SearchConnect {
  3.            
  4.        static function loadUrl($url) {
  5.             $ch = curl_init($url);
  6.             curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0");
  7.             $headers = array (
  8.                 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
  9.                 'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3',
  10.                 'Accept-Encoding: gzip, deflate',
  11.                 'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'
  12.             );
  13.             curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
  14.             curl_setopt($ch, CURLOPT_REFERER, "https://www.google.com.ua/");
  15.             curl_setopt($ch, CURLOPT_COOKIEJAR, "tmp/cookies.txt");  
  16.             curl_setopt($ch, CURLOPT_COOKIEFILE, "tmp/cookies.txt");
  17.             curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  18.             curl_setopt($ch, CURLOPT_ENCODING, "");
  19.             $result = curl_exec($ch);
  20.             curl_close($ch);
  21.             return $result;
  22.        }
  23.         }
  24.  


Далее вызываю
PHP:
скопировать код в буфер обмена
  1.  
  2. $dom = SearchConnect::loadUrl($url);
  3.                 $dom = iconv('UTF-8', 'windows-1251', $dom);
  4.                 var_dump($dom);
  5.                 echo $dom;
  6.  

Проблема в том, что на стороннем сайте кодировка windows-1251, соответственно вылезают кракозябры без использования iconv, но echo $dom ничего не выводит, если использовать iconv? var_dump показывает string(300) "
Не подскажите как исправить это?
 
 Top
RickMan
Отправлено: 01 Сентября, 2014 - 09:29:12
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




Попробуй так:


И всеже если я правильно понял то тебе надо:
 
 Top
Мелкий Супермодератор
Отправлено: 01 Сентября, 2014 - 09:53:29
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




razorg1991 пишет:
Мой проект работает на UTF-8
razorg1991 пишет:
на стороннем сайте кодировка windows-1251

Вы порядок аргументов iconv перепутали. Сначала in_charset, потом out

А вот mb_detect_encoding не поможет, т.к. mb_detect_order такой кодировки не знает.


-----
PostgreSQL DBA
 
 Top
razorg1991
Отправлено: 01 Сентября, 2014 - 18:58:33
Post Id


Частый гость


Покинул форум
Сообщений всего: 131
Дата рег-ции: Сент. 2013  


Помог: 0 раз(а)




Мелкий пишет:
Вы порядок аргументов iconv перепутали. Сначала in_charset, потом out


Благодарю Радость И в правду перепутал, все заработало Улыбка
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB