- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Привет, третий час не могу победить.
Читаю при помощи php:
http://katren.ru/Partnerweb/AptekaYandex/PharmacevtikaRu/Apteka.Ru_yaroslavskaya-oblast_price.xml
(осторожно, 35Мб).
При попытке перекодировать php iconv в utf-8 ругается
iconv(): Detected an illegal character in input string in
функции preg_math не срабатывают.
Есть подозрение, что кодировка не соответствует. Но как определить - какая в файле?
Кодировка сервера utf-8. Кодировка php файла utf-8.
Так... PHP код покажите конвертации.
И читаете файл как?
Код покажите короче.
Файл должен быть виндовс
<?xml version="1.0" encoding="windows-1251"?><!DOCTYPE yml_catalog SYSTEM "shops.dtd">
Но все равно, даже если не перекодировать - он не читается. Никак. Даже простое echo выводит каракозабры.
И с iconv и без него... (если предположить, что он utf-8)
Но текстовым редактором любым открывается.
читаю так:
$url = "http://katren.ru/Partnerweb/AptekaYandex/PharmacevtikaRu/Apteka.Ru_yaroslavskaya-oblast_price.xml";
$file=file_get_contents($url);
//$file = iconv ("CP1251", "UTF-8//IGNORE//TRANSLIT", $file);
echo $file;
Но все равно, даже если не перекодировать - он не читается. Никак. Даже простое echo выводит каракозабры.
Отсюда можно сделать вывод, что по ссылке отдаётся не xml, а какая-то битая дрянь. Вариант решения проблемы довольно прост - пишете администратору сайта и просите проверить этот файл.
Ясно. Переставайте читать удалённые файлы через file_get_contents, это мой вам совет.
function curl_gets($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_ENCODING, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 5.0)');
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$url = "http://katren.ru/Partnerweb/AptekaYandex/PharmacevtikaRu/Apteka.Ru_yaroslavskaya-oblast_price.xml";
$file=curl_gets($url);
$file = iconv ("CP1251", "UTF-8//IGNORE//TRANSLIT", $file);
echo $file;
У вас там gzip включен.
---------- Добавлено 13.03.2018 в 11:45 ----------
Что лучше молчать, чем говорить :)
Да, шайтанама, заработола!! LEOnidUKG, я бы низачто не догадался бы, что они в заархивированном виде стали отдаваться.
Спасибо!