XML Parser verschluckt Umlaute

Alles, was PHP betrifft, kann hier besprochen werden.

XML Parser verschluckt Umlaute

Postby martinpre » 30. December 2006 16:10

Also ich versuche Texte aus einem XML zu bekommen. Dazu habe ich gesucht/gegoogelt und es ergab sich folgender Code:

Code: Select all
class xml_funkt {
        var $parser;
        function xml_funkt() {
         $this->parser = xml_parser_create();
         
         xml_set_object($this->parser, &$this);
         xml_set_element_handler($this->parser, 'open_tag', 'close_tag');
         xml_set_character_data_handler($this->parser, "cdata");
      }
      function parse($data){
           xml_parse($this->parser,$data);
      }
      function open_tag($parser,$tag,$attributes){
           GLOBAL $puffer;
         $puffer[] = array('open',$tag,$attributes);
      }
      function close_tag($parser,$tag){
           GLOBAL $puffer;
           $puffer[] = array('close',$tag);
      }
      function cdata($parser,$cdata){
           GLOBAL $puffer;
           $puffer[] = array('cdata',$cdata);
      }
}


Das ganze wird dann so geladen:
Code: Select all
//$text wird von irgendwo her geholt (Umlaute sind da)
$xml_parser = new xml_funkt();
$xml_parser->parse($text);


Wenn ich jetzt aber ein var_dump von $puffer mache, ist ab der Stelle wo ein Umlaut sein sollte Schluss, dh der restliche Text ist verloren gegangen.

Kennt vielleicht jemand das Problem oder einen Lösungsvorschlag?
martinpre
 
Posts: 405
Joined: 22. May 2006 16:14
Location: Nähe Tulln / Österreich

Return to PHP

Who is online

Users browsing this forum: No registered users and 5 guests