кодировки ...

servannin

Guest
кодировки ...

У меня такая проблема:
При выводе xml-файла в окне браузера , элементы этого файла выводятся нормально,а при записи в файл выводится ерунда типа этого:
<Рисунки>
<строка>&#x443;&#x43A;&#x430;&#x437;&#x430;&#x43D; &#x433;&#x440;&#x430;&#x444;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438;&#x439; xml-&#x444;&#x430;&#x439;&#x43B;1 &#x434;&#x43B;&#x44F; &#x432;&#x441;&#x442;&#x430;&#x432;&#x43A;&#x438;</строка>
<строка>&#x4......и т.д.

Сейчас код выглядит так :
PHP:
<?php
$dom->formatOutput=true;
if ($node !== $dom){
$asd=htmlspecialchars(utf8decode($dom->saveXML($node)));
$asd=str_replace('&amp;#', '&#', $asd); 
echo $asd; 
$file="textfile.txt";
if(file_exists($file))
{
$fp = fopen ($file,"w");
$asd=utf8decode($dom->saveXML($node));
fwrite($fp,$asd);
fclose($fp);
}}
//else
//$asd=htmlspecialchars($dom->saveXML());
//echo $asd;
?>
А как сделать, чтобы содержание элементов выводилось нормально , чего то не могу....
Спасибо
 

Кром

Новичок
>элементы этого файла выводятся нормально
>а при записи в файл выводится ерунда типа этого

Выводятся где?

>$asd=str_replace('&#', '&#', $asd);

А это еще что?
 

servannin

Guest
Есть xml-файл, я его вывожу в браузер .
Вот результат (так файл выглядит в окне браузера):
<Рисунки>
<строка>указан графический xml-файл1 для вставки</строка>
<строка>указан графический xml-файл2 для вставки</строка>
</Рисунки>
А в файл этот же xml-файл записывается как:
<Рисунки>
<строка>&#x443;&#x43A;&#x430;&#x437;&#x430;&#x43D; &#x433;&#x440;&#x430;&#x444;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438;&#x439; xml-&#x444;&#x430;&#x439;&#x43B;1 &#x434;&#x43B;&#x44F; &#x432;&#x441;&#x442;&#x430;&#x432;&#x43A;&#x438;
</строка>
<строка>&#x443;&#x43A;&#x430;&#x437;&#x430;&#x43D; &#x433;&#x440;&#x430;&#x444;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438;&#x439; xml-&#x444;&#x430;&#x439;&#x43B;2 &#x434;&#x43B;&#x44F; &#x432;&#x441;&#x442;&#x430;&#x432;&#x43A;&#x438;</строка>
</Рисунки>



Ой,здесь ошибся,вот так должно быть:
$asd=str_replace('&amp;#', '&#', $asd);

Причём проблема только с русскими буквами , с латинскими нормально.

-~{}~ 14.03.05 17:25:

ОЙ!!!
В предыдущем сообщении после строки "А в файл этот же xml-файл записывается как:" у меня идёт :
PHP:
<Рисунки>
      <строка>&#x443;&#x43A;&#x430;&#x437;&#x430;&#x43D; &#x433;&#x440;&#x430;&#x444;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438;&#x439; xml-&#x444;&#x430;&#x439;&#x43B;1 &#x434;&#x43B;&#x44F; &#x432;&#x441;&#x442;&#x430;&#x432;&#x43A;&#x438;</строка>
      <строка>&#x443;&#x43A;&#x430;&#x437;&#x430;&#x43D; &#x433;&#x440;&#x430;&#x444;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438;&#x439; xml-&#x444;&#x430;&#x439;&#x43B;2 &#x434;&#x43B;&#x44F; &#x432;&#x441;&#x442;&#x430;&#x432;&#x43A;&#x438;</строка>
    </Рисунки>
а строка должна выглядеть так:
PHP:
$asd=str_replace('&#', '&#', $asd);
-~{}~ 14.03.05 17:28:

а строка должна выглядеть так:
после первой & должно идти аmр; а потом #
&аmр; #
 
Сверху