Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Z MySQLa do XMLa - problem z kodowaniem
Forum PHP.pl > Forum > XML, AJAX > XML
Dawid Pytel
Witam

Na podstawie tekstu umieszczonego na Zend.com napisałem skrypt w php który generuje XMLa. Oto jego fragment:

[php:1:65cbdec755]<?php
function make_xml($wynik)
{
$doc = domxml_new_doc('1.0');

$root = $doc->create_element('userzy'); // główny węzeł
$root = $doc->append_child($root);

while($row=mysql_fetch_assoc($wynik))
{
$occ = $doc->create_element('user');
$occ = $root->append_child($occ);
foreach($row as $fieldname => $fieldvalue)
{
($occ);
$child = $doc->create_element($fieldname);
$child = $occ->append_child($child);

$value = $doc->create_text_node($fieldvalue);
$value = $child->append_child($value);
} //foreach
} //while

$xml_string = $doc->dump_mem(true);

return $xml_string;

}
?>[/php:1:65cbdec755]

zmienna $wynik to tablica zwracana z zapytania do MySQLa.
No i pojawia się problem z kodowaniem. Przy wywołaniu funkcji wsykakuje mi komunikat:

Kod
Warning: dump_mem() [function.dump-mem]: xmlEncodeEntitiesReentrant : input not UTF-8


W jaki spsób mozna o zmienić?
Wydaje mi sie ze mozna zmienic kodowanie pliku XMLa na ISO tylko nie mam pojecia jaka funkcja to zrobic, lub....

no wlasnie, jak to mozna zrobic?

Pozdrawiam
Dawid Pytel
No dobra, już wiem jak pozbyć się tego błędu. Wystarczy w

[php:1:eae85b0a40]<?php
$xml_string = $doc->dump_mem(true);
?>[/php:1:eae85b0a40]

dopisać

[php:1:eae85b0a40]<?php
$xml_string = $doc->dump_mem(true,'UTF-8');
?>[/php:1:eae85b0a40]

i wszystko działa tak jak powinno.

Tylko niestety muszę zmienić kodowanie na.... windows-1250
no i pojawia się tu następujący problem:

Kod
Warning:  dump_mem() [function.dump-mem]: output conversion failed due to conv error

in c:usrapachehttpdhtmlxmlindex.php on line 29


Macie pomysł jak się pozbyć tego komunikatu przy chcianym kodowaniu?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.