Mam problem z odczytaniem polskich liter z xml'a. Troszkę przeszukałem już forum, ale być może źle szukam, a być może nie było takiej sytuacji.
Nie wiem dlaczego ale podczas czytania z bazy wyników otrzymuję dziwne symbole, takie jak:
?
?
Ä
?
?
?
?
?
Â
?
Znalazłem w necie, że zapis: mb_convert_encoding($player[3],"HTML-ENTITIES","UTF-8") pozwolił mi się pozbyć tych dziwnych symboli i wreszcie xml został rozpoznany przez parser.
Teraz jednak nie wiem co zrobić, żeby zobaczyć polskie litery... bo tym razem mam zamiast polskich liter: & # 3 2 2; itp.
Poniżej wrzucam kod z pliku php.
Baza jest ustawiona na utf-8, plik też jest zapisany jako utf-8 (przynajmniej tak mi pokazuje jEdit)
<?php include "../connect.php"; class XmlWriterClassVasquez { var $xml; var $indent; function XmlWriterClassVasquez($indent = ' ') { $this->indent = $indent; $this->xml = '<?xml version="1.0" encoding="utf-8"?>'."\n"; } function _indent() { $this->xml .= $this->indent; } } $this->_indent(); $this->xml .= '<'.$element; foreach ($attributes as $key => $value) { } $this->xml .= ">\n"; $this->stack[] = $element; } $this->_indent(); $this->xml .= '<'.$element; foreach ($attributes as $key => $value) { } } $this->_indent(); $this->xml .= '<'.$element; foreach ($attributes as $key => $value) { } $this->xml .= " />\n"; } function pop() { $this->_indent(); $this->xml .= "</$element>\n"; } function getXml() { return $this->xml; } } $xml = new XmlWriterClassVasquez(); $q = mysql_query("SELECT ID_user, nick, rank, firstname, lastname FROM rank_users") or die("blad1"); { array_push($array, array($result['ID_user'], $result['nick'], $result['rank'], $result['firstname'], $result['lastname'])); } $xml->push('players'); foreach ($array as $player) { $xml->push('player'); $xml->element('PlayerId', $player[0]); $xml->element('PlayerAlias', mb_convert_encoding($player[1],"HTML-ENTITIES","UTF-8")); $xml->element('PlayerRank', $player[2]); $xml->element('PlayerName', mb_convert_encoding($player[3],"HTML-ENTITIES","UTF-8")); $xml->element('PlayerSurname', mb_convert_encoding($player[4],"HTML-ENTITIES","UTF-8")); $xml->pop(); } $xml->pop(); ?>