Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Z MySQLa do XMLa - problem z kodowaniem
Dawid Pytel
post 10.10.2003, 23:48:26
Post #1





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.09.2003

Ostrzeżenie: (0%)
-----


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


--------------------
Ez Partner :]
Go to the top of the page
+Quote Post
Dawid Pytel
post 11.10.2003, 19:49:16
Post #2





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.09.2003

Ostrzeżenie: (0%)
-----


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?


--------------------
Ez Partner :]
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.04.2024 - 13:04