Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> php, DOM, iso-8859-2, dziwny błąd
lukaszchm
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 8.07.2006

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


Witam,
Widziałem tutaj kilka tematów o problemach z xml i kodowaniem, ale nie znalazłem takiego błędu jak mój. Uprościłem do minimum cały skrypt, żeby pokazać tylko sam błąd.

Przytoczę moze bardzo prosty kod
  1. <?php
  2. $dom = new DOMDocument("1.0","iso-8859-2");
  3. $root = $dom->createElement("root");
  4. $dom->appendChild($root);
  5. $root->appendChild($dom->createElement("element","ążśźęćńół"));
  6. print $dom->saveXML();
  7. ?>

jego wywołanie powoduje błąd
Kod
Warning: DOMDocument::saveXML() [function.saveXML]: output conversion failed due to conv error in /home/lukaszch/public_html/domTest.php on line 6

Warning: DOMDocument::saveXML() [function.saveXML]: Bytes: 0xEA 0xE6 0xF1 0xF3 in /home/lukaszch/public_html/domTest.php on line 6

Dodatkowo zamieszczam skrypt oraz źródło
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
mariuszn3
post
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 0
Dołączył: 22.01.2006

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


Rozszerzenie DOM jest dosyć ograniczone. Przynajmniej z moich testów wynika, że obsługa innych kodowań jest wimplementowana tylko w klasę DOMDocument, a DOMNode już nie... to znaczy, możesz utworzyć dokument w kodowaniu innym niż utf-8 a nawet go załadować w takim kodowaniu poprzez loadXML() Nie mniej ciągi znaków, przesyłane do funkcji na poziomie klasy DOMNode musisz już przesyłać w kodowaniu utf-8. Podobnie jest z odbieraniem danych. saveXML() wypluje Ci dane w kodowaniu jakie sobie zarzyczyłeś tylko jeśli będziesz chciał otrzymać ciąg znaków całego dokumentu, jak zarzyczysz sobie xml jakiegokolwiek pod węzła, zwrócony ciąg będzie w kodowaniu 'utf-8'.
Go to the top of the page
+Quote Post
lukaszchm
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 8.07.2006

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


no właśnie tego sie bałem, że to wina php, narazie odpusciłem i zmieniłem kodowanie na utf8
dzięki za odpowiedź
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 04:42