За последние 24 часа нас посетили 17658 программистов и 1284 робота. Сейчас ищут 1425 программистов ...

проблемы с xml и dom

Тема в разделе "JavaScript и AJAX", создана пользователем Prettynim, 19 янв 2011.

  1. Prettynim

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

    С нами с:
    28 ноя 2009
    Сообщения:
    45
    Симпатии:
    0
    Адрес:
    Ставрополь
    У меня на сайте кодировка cp1251. Я пытаюсь сделать подключение xml файла через ajax на сайт.
    Это xml файл
    Код (Text):
    1. <?php
    2. $name = $_GET['name'];
    3.  
    4. if($name=="opel"){ $kraska ="#FFFF00";}
    5. if($name=="ford"){$kraska = "работает-work";}
    6.    
    7.         $doc = new DOMDocument("1.0","cp1251");
    8.         $root = $doc->createElementNS('http://myford.ru', 'car');
    9.         $doc->appendChild($root);
    10.        
    11.         $model = $root->appendChild(new DOMElement("model"));
    12.         $model->appendChild(new DOMText("Focus"));
    13.        
    14.         $date = $root->appendChild(new DOMElement("date"));
    15.         $date->appendChild(new DOMText("<h1>2008</h1>"));
    16.        
    17.         $color = $root->appendChild(new DOMElement("color"));
    18.         $color->appendChild(new DOMText($kraska));
    19.        
    20.         header('Content-Type: text/xml');
    21.         echo $doc->saveXML();
    22.  
    23. ?>
    он работает только в том случае если либо кодировка utf8, либо нет русских символов, например если $kraska = "работает-work"; равна $kraska = "work" - то все работает.
    Если русские символы присутствуют то xml файл возвращает ошибку и показывает xml документ ровно до того момента когда появляются русские символы.
    Помогите разобраться, как быть если у меня кодировка cp1251 а xml не хочет отображать русские символы.
     
  2. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Попробуйте:
    Код (Text):
    1. $doc = new DOMDocument("1.0","windows-1251");
     
  3. Prettynim

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

    С нами с:
    28 ноя 2009
    Сообщения:
    45
    Симпатии:
    0
    Адрес:
    Ставрополь
    с кодировкой windows-1251 тоже не работает, если открыть на прямую xml то выводит ошибку, но перед этим я убрала условие if и оставила только $kraska = "работает-work";
    Код (Text):
    1.  
    2. Ошибка синтаксического анализа XML: элемент не найден
    3. Адрес: http://мой адрес
    4. Строка 2, символ 96:<car xmlns="http://myford.ru"><model>Focus</model><date>&lt;h1&gt;2008&lt;/h1&gt;</date><color>
    и точно также на странице в которую подключаю файл, показывается xml но только до <color>