Input conversion failed due to input error bytes 0x98 0xd0 0xb4 0xd0

I am looking to scrap a Chinese website using PHP and CURL. Earlier I had an issue with the compressed results and SO had helped me to sort it out. Now I'm facing a trouble while parsing the contents

I am looking to scrap a Chinese website using PHP and CURL. Earlier I had an issue with the compressed results and SO had helped me to sort it out.
Now I’m facing a trouble while parsing the contents through PHP — DOMDocument.
The error is as follows,

Warning: DOMDocument::loadHTML(): input conversion failed due to input error, bytes 0xE3 0x80 0x90 0xE8 in /var/www/html/ ..

Even though warning this is preventing from getting further results.

My code is as given below:

$agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0';
$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL,$url); 
curl_setopt($curl, CURLOPT_HTTPHEADER, array('text/html; charset=gb2312')); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);  
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($curl, CURLOPT_ENCODING, "");  // handling all compressions 
curl_setopt($curl, CURLOPT_USERAGENT, $agent);
curl_setopt($curl, CURLOPT_TIMEOUT, 1000);
$html = curl_exec($curl) or die("error: ".curl_error($curl));
curl_close($curl);
$htmlParsed = mb_convert_encoding($result,'utf-8','gb2312');

$doc = new DOMDocument();
$doc->loadHTML($htmlParsed);

$xpath = new DOMXpath($doc);

$elements = $xpath->query('//div[@class="test"]//a/@href');

if (!is_null($elements)) {
  foreach ($elements as $element) {
    echo "<br/>[". $element->nodeName. "]";

    $nodes = $element->childNodes;
    foreach ($nodes as $node) {
      echo $node->nodeValue. "n";
    }
  }
}

I found the content type in my target website as ,

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

So I tried converting result to utf-8.

Since the input conversion fails at ‘DOMDocument::loadHTML()’ line of the code ,I can’t parse the web page to get the results.
I am currently stuck at this point and any help or suggestions will be highly appreciated. Thanx in advance.

(Earlier I used to work with simple HTML DOM parser,which was pretty simple.But later after reading the cons in SO regarding its usage.I planned to switch to PHP’s native DOM Parser )

Содержание

  1. О неочевидных ошибках функции loadXML() – PHP
  2. Какие могут быть у нее ошибки?
  3. 1. Некорректный XML
  4. 2. Несоответствие кодировок
  5. Input conversion failed due to input error bytes 0x98 0xd0 0xb4 0xd0

О неочевидных ошибках функции loadXML() – PHP

Функция loadXML() в языке РНР производит загрузка XML из строки – так сказано в мануалах по PHP. Она возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Если вызвана статически, возвращает объект класса DOMDocument или FALSE в случае возникновения ошибки.

Какие могут быть у нее ошибки?

Мануал сообщает лишь о некоторых видах ошибок:

Из комментариев в мануалу можно прочитать еще о возможных проблемах с функцией loadXML():

И, в общем-то, всё. Там, однако, НЕ указан еще один важнейший класс ошибок, которые могут быть допущены при работе с loadXML():

Надо сказать, что это – и не мудрено, что не указано. Дело в том, что такая ошибка – достаточно нетипичная, редкая и потому – очень трудно ее отловить (скажем, типичные автоматизированные тесты, скорее всего, не выявят ее). И тем она – коварнее. Но, увы, именно она может «почему-то» вызвать капитальный сбой в работе сайта.

Ниже мы рассмотрим подробно два вида ошибок: ввода некорректного XML и несоответствие кодировок.

1. Некорректный XML

Виды некорректного XML могут быть подразделены на два основных:

Формат html-тегов может быть неверным, к примеру, если не закрыт тот или иной тег; или если тег сам по себе написан неверно. Вот типичные примеры неверных тегов, исходя из стандарта XML:

(этот тег – самозакрывающийся и должен быть написан так:
)

(присутствует пробел там, где его быть не должно)

(присутствуют лишние пробелы)

HTML-сущности имеют два формата написания:

Следует заметить, что и то, и другое описание имеет характерные признаки: начинается с символа & (амперсанд) и оканчивается ; (точка с запятой). Между ними могут быть либо латинские буквы, либо знак # и цифры. Однако, далеко НЕ ВСЕ буквы и цифры допустимы. В частности, существуют некорректные (недопустимые) html-сущности. Например, сущность ©f; — недопустима (в отличие от © ). Точно также и с цифрами – отнюдь не любое их сочетание является допустимым (корректным).

Так вот, если на вход функции loadxml() подать строку, содержащую некорректные теги или некорректную html-сущность, будет сгенерировано предупреждение, при этом результатом этой функции будет, как уже говорилось, FALSE. Т.е. создание DOM для такой строки не произойдет – со всеми вытекающими последствиями.

Например, хрестоматийным некорректным XML-кодом является символ одиночного амперсанда & . Вместо этого следует использовать & . Т.е. сам по себе амперсанд допустим в XML-коде только в составе ДОПУСТИМЫХ html-сущностей. Иными словами, если Вы решили передать во входную строку функции loadxml() , к примеру, программный код вида

то необходимо превратить в корректные html-сущности амперсанды, которые, по крайней мере, не являются началом тех или иных html-сущностей. Т.е. этот код перед передачей функции loadxml() нужно будет преобразовать следующим образом:

Увы. Да, длинновато получится, но зато – будет работать без проблем в качестве аргумента этой функции.

Ну, с некорректным XML-кодом, вроде бы, всё ясно. Переходим ко второму виду ошибок, пока еще НЕ описанных в мануалах и иных руководствах.

2. Несоответствие кодировок

Посмотрим типичный пример применения функции loadxml() :

Источник

Input conversion failed due to input error bytes 0x98 0xd0 0xb4 0xd0

alligator
Дата 20.8.2014, 21:23 (ссылка) | (нет голосов) Загрузка .

Опытный

Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: 1
Всего: 1

Всем доброго времени суток!
получаю через curl данные по ссылке http://www.gaztransbank.ru/For_CBRF/Deposits.xml
simplexml вывавливает кучу ошибок, не могу найти где проблема ??
пробывал копировать текст в файл, из файла нормально работает.

Код
Warning: SimpleXMLElement::__construct(): input conversion failed due to input error, bytes 0x98 0xD0 0xBD 0xD1 in /var/www/portal.mikronika-energo.ru/htdocs/test/ssl/action.php on line 166

Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : switching encoding: encoder error in /var/www/portal.mikronika-energo.ru/htdocs/test/ssl/action.php on line 166

Warning: SimpleXMLElement::__construct(): in test.php on line 166

Warning: SimpleXMLElement::__construct(): ^ in test.php on line 166

Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : Blank needed here in test.php on line 166

Warning: SimpleXMLElement::__construct(): in test.php

Warning: SimpleXMLElement::__construct(): ^ test.php

Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : parsing XML declaration: ‘?>’

Aliance
Дата 21.8.2014, 12:50 (ссылка) | (нет голосов) Загрузка .

I ♥
‘http://www.gaztransbank.ru/For_CBRF/Deposits.xml’,
CURLOPT_HTTPHEADER=>array(‘Content-Type: text/xml’),
CURLOPT_HTTPGET=>true,
CURLOPT_NOBODY=>false,
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_FOLLOWLOCATION=>true,
CURLOPT_MAXREDIRS=>5,
CURLOPT_SSL_VERIFYPEER =>0,
CURLOPT_SSL_VERIFYHOST =>0,
CURLOPT_CONNECTTIMEOUT => 30,
CURLOPT_TIMEOUT => 30
);

$ch = curl_init();
curl_setopt_array($ch, $options);
$xml = curl_exec($ch);
$status_code = curl_getinfo($ch,CURLINFO_HTTP_CODE);
echo $xml;
$xml_data = new SimpleXMLElement($xml);
curl_close($ch);
?>

Aliance
Дата 22.8.2014, 08:18 (ссылка) | (нет голосов) Загрузка .

I ♥
$xml = str_replace(«windows-1251», «utf-8», $xml);

alligator
Дата 22.8.2014, 10:14 (ссылка) | (нет голосов) Загрузка .

Опытный

Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: 1
Всего: 1

Цитата(Aliance @ 22.8.2014, 09:18)
SimpleXMLElement плохо работает не с utf, пока что более изящное решение, чем замена кодировки не подскажу:
Код
$xml = str_replace(«windows-1251», «utf-8», $xml);
Код
echo mb_detect_encoding($r, «Windows-1251, UTF-8″).»
«;

Везде UTF-8 и simplexml нормально отрабатывает на них хотя в коде encoding=windows-1251
как тогда определить правильную кодировку если сервера отдают в utf-8 а по факту где как.

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET
  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь
  • Темы «ищу скрипт», «подскажите скрипт» и т.п. будут переноситься в форум «Web-технологии»
  • Темы с именами: «Срочно», «помогите», «не знаю как делать» будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, [email protected] , skyboy, SamDark, MoLeX, awers.

0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »

[ Время генерации скрипта: 0.1095 ] [ Использовано запросов: 21 ] [ GZIP включён ]

Источник

Adblock
detector

  • #1

XMLReader ругается на кодировку? ( input conversion failed due to input error )

Парсю xml, но в одном месте XMLReader ругается input conversion failed due to input error, bytes 0x98 0x62 0x61 0x72

Визуально видно — что то с кодировкой в тэге «description» (там где «a?_barbaric-Bihar»), но что именно с ней?

Кто виноват — xml или код ?
Если код — то можно все же заставить XMLreader корректно считать эти данные?
Или придется смирится с пропуском этих данных?

xml файл http://stream.ifolder.ru/15015858

Код:

PHP:

<?
$reader = new XMLReader();
$reader->open("test.xml");
while ($reader->read()){
}
?>

  • #2

А что, если не ридер использовать, а SimpleXML или DOM? Файл не такой уже и большой, чтобы на него натравливать XMLReader.

  • #3

Это я привел отрывок из большого файла xml весом под 200 Мегабайт.

  • #4

А XMLReader гарантирует только поддержку UTF8, а файлик то WIN-1251, судя по заголовку…
Пробуй перекодировать, перед тем как скармливать…

I am looking to scrap a Chinese website using PHP and CURL. Earlier I had an issue with the compressed results and SO had helped me to sort it out.
Now I’m facing a trouble while parsing the contents through PHP — DOMDocument.
The error is as follows,

Warning: DOMDocument::loadHTML(): input conversion failed due to input error, bytes 0xE3 0x80 0x90 0xE8 in /var/www/html/ ..

Even though warning this is preventing from getting further results.

My code is as given below:

$agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0';
$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL,$url); 
curl_setopt($curl, CURLOPT_HTTPHEADER, array('text/html; charset=gb2312')); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);  
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($curl, CURLOPT_ENCODING, "");  // handling all compressions 
curl_setopt($curl, CURLOPT_USERAGENT, $agent);
curl_setopt($curl, CURLOPT_TIMEOUT, 1000);
$html = curl_exec($curl) or die("error: ".curl_error($curl));
curl_close($curl);
$htmlParsed = mb_convert_encoding($result,'utf-8','gb2312');

$doc = new DOMDocument();
$doc->loadHTML($htmlParsed);

$xpath = new DOMXpath($doc);

$elements = $xpath->query('//div[@class="test"]//a/@href');

if (!is_null($elements)) {
  foreach ($elements as $element) {
    echo "<br/>[". $element->nodeName. "]";

    $nodes = $element->childNodes;
    foreach ($nodes as $node) {
      echo $node->nodeValue. "n";
    }
  }
}

I found the content type in my target website as ,

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

So I tried converting result to utf-8.

Since the input conversion fails at ‘DOMDocument::loadHTML()’ line of the code ,I can’t parse the web page to get the results.
I am currently stuck at this point and any help or suggestions will be highly appreciated. Thanx in advance.

(Earlier I used to work with simple HTML DOM parser,which was pretty simple.But later after reading the cons in SO regarding its usage.I planned to switch to PHP’s native DOM Parser )

За последние 24 часа нас посетили 11584 программиста и 1152 робота. Сейчас ищут 218 программистов …


  1. Avensis

    С нами с:
    4 авг 2015
    Сообщения:
    22
    Симпатии:
    0

    Здравствуйте! Хочу спарсить в свой интернет-магазин товары с сайта поставщика.
    Можете пожалуйста показать на примере как это делается?
    допустим как добавить в свою базу данных название модели, цену, размер. как сохранить картинки на локальный сервер в определенную папку? (движок самописный у меня)
    xml файл — http://www.glem.com.ua/eshop/ym4.php

    и еще такой вопрос, на их сайте написано:
    Подключив импорт из xml вы получите:
    Новые позиции будут создаваться на вашем сайте автоматически.
    Позиции, закончившиеся на нашем складе (не осталось ни одного размера) автоматически скроются и на вашем сайте.
    Если эти позиции отошьются и опять появятся у нас на складе, то они автоматически появятся и у вас на сайте.

    как это все осуществляется? Заранее всем спасибо за ответы.


  2. denis01

    Команда форума
    Модератор

    Всё есть в книгах для начинающих по PHP, смотри главу про XML


  3. Avensis

    С нами с:
    4 авг 2015
    Сообщения:
    22
    Симпатии:
    0

    читал целый день сегодня, сложно сразу вникнуть когда до этого не работал с xml..


  4. mkramer

    Команда форума
    Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.493
    Симпатии:
    1.732


  5. Avensis

    С нами с:
    4 авг 2015
    Сообщения:
    22
    Симпатии:
    0

    Кто-то может на моем примере показать? Я не прошу все данные парсить, только пример. Остальное я сам допишу.

    и еще такой вопрос, на их сайте написано:
    Подключив импорт из xml вы получите:
    Новые позиции будут создаваться на вашем сайте автоматически.
    Позиции, закончившиеся на нашем складе (не осталось ни одного размера) автоматически скроются и на вашем сайте.
    Если эти позиции отошьются и опять появятся у нас на складе, то они автоматически появятся и у вас на сайте.

    как это все осуществляется? Заранее всем спасибо за ответы.


  6. denis01

    Команда форума
    Модератор

    Имея эти данные такое можно реализовать, тут просто логика. Реализовать это можно с помощью программы.

    Если нужно получить готовый код, то можно написать в раздел «сделайте за меня» бесплатно или «free-lance» за деньги.


  7. Avensis

    С нами с:
    4 авг 2015
    Сообщения:
    22
    Симпатии:
    0

    С помощью какой программы? поставить парсер на крон?
    Я не прошу все данные парсить, только пример. Остальное я сам допишу..


  8. Avensis

    С нами с:
    4 авг 2015
    Сообщения:
    22
    Симпатии:
    0

    спасибо за ответы! Так все и предполагал.. База у меня давно готова. Можно пример как спарсить в свою базу данных хотя-бы названия моделей и цены? и как сохранить картинки на локальный сервер в определенную папку?


  9. Avensis

    С нами с:
    4 авг 2015
    Сообщения:
    22
    Симпатии:
    0

    по тем примерам не совсем понятно мне как это реализовать. Опыт еще не такой большой в php. С картинками думаю разберусь. но как спарсить хотя-бы названия моделей и цены?


  10. mkramer

    Команда форума
    Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.493
    Симпатии:
    1.732

    С таким уровнем знаний сами не справитесь. Тогда ищите фрилансера


  11. Avensis

    С нами с:
    4 авг 2015
    Сообщения:
    22
    Симпатии:
    0

    может и разберусь. можете дать пример как спарсить хотя-бы названия моделей и цены?


  12. denis01

    Команда форума
    Модератор

    примерно так

    1. foreach ($xml->shop->offers as $offer) {


  13. Avensis

    С нами с:
    4 авг 2015
    Сообщения:
    22
    Симпатии:
    0

    1. include ‘simple_html_dom.php’;
    2. $xml = new SimpleXMLElement($xmls);
    3. foreach ($xml->shop->offers as $offer) {

    выбивает Warning: SimpleXMLElement::__construct()


  14. Maputo

    Maputo
    Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173

    А так:

    1. $xml = new SimpleXMLElement($xmls, NULL, true);


  15. Avensis

    С нами с:
    4 авг 2015
    Сообщения:
    22
    Симпатии:
    0


  16. Maputo

    Maputo
    Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173

    Создайте простенький xml-документ. Протестируйте на нем.
    и можно весь текст ошибки целиком.
    На всякий случай версию PHP


  17. Avensis

    С нами с:
    4 авг 2015
    Сообщения:
    22
    Симпатии:
    0

    Warning: SimpleXMLElement::__construct() [simplexmlelement.—construct]: input conversion failed due to input error, bytes 0x98 0x2C 0x20 0xD0 in
    Fatal error: Uncaught exception ‘Exception’ with message ‘String could not be parsed as XML’ in
    Версия PHP 5.3


  18. Maputo

    Maputo
    Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173

    Что-то не так у Вас с файлом.

    1. $xml = new SimpleXMLElement(‘r.xml’, NULL, true);
    2. echo $xml->title.‘<br>’; // Выводит XLEBUSHEK
    3. foreach($xml->composition->ingredient as $x){
    4.     echo $x .‘<br>’; //Выводит всякую фигню 

    Документ r.xml (взял из Вики)

    1. <?xml version=«1.0» encoding=«UTF-8»?>
    2. <recipe name=»хлеб» preptime=»5min» cooktime=»180min»>
    3.       <ingredient amount=»3″ unit=»стакан»>Мука</ingredient>
    4.       <ingredient amount=»0.25″ unit=»грамм»>Дрожжи</ingredient>
    5.       <ingredient amount=»1.5″ unit=»стакан»>Тёплая вода</ingredient>
    6.       <ingredient amount=»1″ unit=»чайная ложка»>Соль</ingredient>
    7.         Смешать все ингредиенты и тщательно замесить. 
    8.         Закрыть тканью и оставить на один час в тёплом помещении. 
    9.            Почитать вчерашнюю газету. 
    10.          — это сомнительный шаг…
    11.         Замесить ещё раз, положить на противень и поставить в духовку. 

    А ошибка связана с кодировкой. У меня такая же вылетела, когда я текст из этого поста скопировал.


  19. Avensis

    С нами с:
    4 авг 2015
    Сообщения:
    22
    Симпатии:
    0

    1. $xml = simplexml_load_file(‘http://www.glem.com.ua/eshop/ym4.php’);
    2. foreach($xml->shop->offers->offer as $offer) {
    3.     echo $offer->name, ‘, размер: ‘,  $offer->param[1], PHP_EOL;

    спасибо за помощь! вроде разобрался.. сейчас пытаюсь все в базу занести..


Форум программистов Vingrad

Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы
Создание опроса
> SimplexmlElement 

:(

   

Опции темы

alligator
Дата 20.8.2014, 21:23 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: 1
Всего: 1

Всем доброго времени суток!
получаю через curl данные по ссылке http://www.gaztransbank.ru/For_CBRF/Deposits.xml
simplexml вывавливает кучу ошибок, не могу найти где проблема ??
пробывал копировать текст в файл, из файла нормально работает.

Код

Warning: SimpleXMLElement::__construct(): input conversion failed due to input error, bytes 0x98 0xD0 0xBD 0xD1 in /var/www/portal.mikronika-energo.ru/htdocs/test/ssl/action.php on line 166

Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : switching encoding: encoder error in /var/www/portal.mikronika-energo.ru/htdocs/test/ssl/action.php on line 166

Warning: SimpleXMLElement::__construct(): in test.php on line 166

Warning: SimpleXMLElement::__construct(): ^ in test.php on line 166

Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : Blank needed here in test.php on line 166

Warning: SimpleXMLElement::__construct(): in test.php

Warning: SimpleXMLElement::__construct(): ^ test.php

Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : parsing XML declaration: '?>'

———————

Мои ресурсы:
Студенты мгапи тут!
Модные стулья здесь!
Эксклюзивные сувениры подарки.

PM MAIL   Вверх
Aliance
Дата 21.8.2014, 12:50 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

I ♥ <script>
****

Профиль
Группа: Модератор
Сообщений: 6417
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137

Код граббинга курлом и код самого парсинга приложить тоже бы не помешало =)

———————

• Все о событиях
• Объекты и массивы
• ОКНА И ФРЕЙМЫ

JAVA ≠ JavaScript

PM MAIL WWW ICQ Skype   Вверх
alligator
Дата 21.8.2014, 19:04 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: 1
Всего: 1

Цитата(Aliance @ 21.8.2014,  13:50)
Код граббинга курлом и код самого парсинга приложить тоже бы не помешало =)

Код

<?PHP
$options=array(
        CURLOPT_URL=>'http://www.gaztransbank.ru/For_CBRF/Deposits.xml',
        CURLOPT_HTTPHEADER=>array('Content-Type: text/xml'),
        CURLOPT_HTTPGET=>true,
        CURLOPT_NOBODY=>false,
        CURLOPT_RETURNTRANSFER=>true,
        CURLOPT_FOLLOWLOCATION=>true,
        CURLOPT_MAXREDIRS=>5,
        CURLOPT_SSL_VERIFYPEER =>0,
        CURLOPT_SSL_VERIFYHOST =>0,
        CURLOPT_CONNECTTIMEOUT => 30,
        CURLOPT_TIMEOUT => 30 
);

$ch = curl_init();
curl_setopt_array($ch, $options);
$xml = curl_exec($ch);
$status_code = curl_getinfo($ch,CURLINFO_HTTP_CODE);
echo $xml;
$xml_data = new SimpleXMLElement($xml);
curl_close($ch);
?>

———————

Мои ресурсы:
Студенты мгапи тут!
Модные стулья здесь!
Эксклюзивные сувениры подарки.

PM MAIL   Вверх
Aliance
Дата 22.8.2014, 08:18 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

I ♥ <script>
****

Профиль
Группа: Модератор
Сообщений: 6417
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137

SimpleXMLElement плохо работает не с utf, пока что более изящное решение, чем замена кодировки не подскажу:

Код

$xml = str_replace("windows-1251", "utf-8", $xml);

———————

• Все о событиях
• Объекты и массивы
• ОКНА И ФРЕЙМЫ

JAVA ≠ JavaScript

PM MAIL WWW ICQ Skype   Вверх
alligator
Дата 22.8.2014, 10:14 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: 1
Всего: 1

Цитата(Aliance @ 22.8.2014,  09:18)
SimpleXMLElement плохо работает не с utf, пока что более изящное решение, чем замена кодировки не подскажу:

Код

$xml = str_replace("windows-1251", "utf-8", $xml);

Пробежался по всем сайтам включая этот:

Код

echo mb_detect_encoding($r, "Windows-1251, UTF-8")."<br/>";

Везде UTF-8 и simplexml нормально отрабатывает на них хотя в коде encoding=windows-1251
как тогда определить правильную кодировку если сервера отдают в utf-8 а по факту где как…..

———————

Мои ресурсы:
Студенты мгапи тут!
Модные стулья здесь!
Эксклюзивные сувениры подарки.

PM MAIL   Вверх



















Ответ в темуСоздание новой темы
Создание опроса
Правила форума «PHP»
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы «ищу скрипт», «подскажите скрипт» и т.п. будут переноситься в форум «Web-технологии»
  • Темы с именами: «Срочно», «помогите», «не знаю как делать» будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, [email protected], skyboy, SamDark, MoLeX, awers.

 

0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »

Понравилась статья? Поделить с друзьями:
  • Inpagecofire как исправить
  • Inpage error c000009c прекращена работа программы проводник
  • Inpa ошибка ifh 0003
  • Inpa ошибка 135
  • Inpa error opening log file