[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Кодировка и iconv
[MI_nor]
Здраствуйте, пытаюсь спарсить с помощью curl содержимое страницы. Сама страница находится в кодировке windows-1251, моя же страница в юникоде. Так вот, если получая данные через curl_exec не применять iconv, то текст выводится с соответствующими для кирилицы кракозябрами, но если я вставляю
$data = iconv('windows-1251', 'utf-8', $data);
то текст уже выводится с соответствующими для юникода кракозябрами =)
Как привести текст к нормальному виду?



Спустя 13 часов, 18 минут, 37 секунд (28.04.2011 - 14:20) vagrand написал(а):
Дайте URl страницы, которую парсите

Спустя 7 часов, 59 минут, 16 секунд (28.04.2011 - 22:19) [MI_nor] написал(а):

Спустя 1 день, 3 часа, 25 секунд (30.04.2011 - 01:20) [MI_nor] написал(а):
Данные там отдаются в след форме:
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 164204
Content-Type: text/html; Charset=Windows-1251
Expires: Fri, 29 Apr 2011 22:19:07 GMT
Server: Microsoft-IIS/7.0
Set-Cookie: onlinestore=SID=5D876ASD&SD%2D36A9%2D4AA0%2DA2E8%2D47A1AB3BD299&p%5Fid=1419&theme=light&login=%EA%F1&logo1=%22Fblank%2Egif& ;logo=blank%2Egif&style=default%2Ecss; expires=Sun, 29-May-2011 22:19:06 GMT; path=/
search3sort=manufacturername; expires=Sun, 31-Dec-2034 21:00:00 GMT; path=/
X-Powered-By: ASP.NET
Date: Fri, 29 Apr 2011 22:19:07 GMT

И вот начало отданного...
<?xml version="1.0"?><input type="hidden" name="detailscount" id="detailscount" value="54" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:val="urn:my-scripts" /><table border="0" cellpadding="3" cellspacing="0" width="100%" id="requestresulttable" style="table-layout: fixed;" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:val="urn:my-scripts"><colgroup><col width="120" /><col width="146" /><col width="45%" id="id1" /><col width="46" /><col width="44" /><col width="64" /><col width="84" /><col width="76" /><col width="22" /><col width="24" /><col width="32" /><col width="36" /><col width="24" /></colgroup><thead><tr><th style="height: 49px; background-color: #5588CC; border-right: 1px solid #99CCFF"><a href="#" onclick="return setOrderByValue(0)" style="color: white;">производитель

Спустя 4 часа, 36 минут, 28 секунд (30.04.2011 - 05:56) walerus написал(а):
Юникод немного не UTF-8, на сколько я помню, не пробовали свой скрипт(файл PHP), сохранять в UTF-8 ???

Иначе я тогда не пойму смысл конверта
$data = iconv('windows-1251', 'utf-8', $data);


Нужно тогда конвертировать в юникод, но ИМХО, это не айс...
Пишите скрипты в общепринятом UTF-8 формате, будет проще )).

Спустя 11 часов, 3 минуты, 14 секунд (30.04.2011 - 16:59) [MI_nor] написал(а):
Файл сохранен в UTF-8, ну если не конвертить то "Ôèëüòð ìàñëÿíûé" =)

Спустя 48 минут, 7 секунд (30.04.2011 - 17:48) walerus написал(а):
Вы немного ошибаетесь, у вас не UTF-8,
т.к. Ваша кракозябра означает - "Фильтр масляный", и кодирование было
CP1252 → CP1251, смотрите свой скрипт и кодировки, откройте скрипт в блокноте, и принудительно сохраните в utf-8. (Не знаю в чем работаете)

rolleyes.gif

Спустя 14 минут, 26 секунд (30.04.2011 - 18:02) [MI_nor] написал(а):
Работаю в gedit, сохранил принудительно в UTF-8, не помогло.Сохранил в windows-1251, тоже не помогло =)

Спустя 7 часов, 47 минут, 14 секунд (1.05.2011 - 01:49) [MI_nor] написал(а):
Может это как то связано со следующими строками?
		$dom = new DOMDocument();
@$dom->loadHTML( $HTMLCode );

$xpath = new DomXPath( $dom );

$queryDate = ".//*[@id='requestresulttable']/tr/td";

$dates = $xpath->query($queryDate);

Потому что вар дамп изначальных данных выдает вполне себе читаемый результат

Спустя 5 минут, 49 секунд (1.05.2011 - 01:55) [MI_nor] написал(а):
решение проблемы нашел в этой теме: http://forum.vingrad.ru/forum/topic-69409.html
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.