Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [xml][php] problem z utf8, obcina mi stringi
flasht
post
Post #1





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 4.03.2004

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


Witam.
Mam problem i to chyba problem z wbudowanymi funkcjami XML w PHP ...

Jest sobie XML (kodowany w UTF-8):

Kod
<?xml version="1.0" encoding="UTF-8"?>
(...)
<contact:street>Marszałkowska 50 / 33</contact:street>
(...)


I funkcja prase'ująca:

Kod
function xml_tag_parser( $xml_text, &$xml_arr)
{
// Wlasciwa funkcja parsujaca xmla
// Wywolanie:
//    $xml_text - kod xml do sparsowania,
//    $xml_arr - wynikowa tablica xml
// Zwraca - wartosc tablicy $xml_arr

    global $stack;

    $no=0;

    // przygotowanie tablicy $stack
    $stack=array( 0=>array( "tag"=>"xml", "level"=>0, "child"=>array()));

    $xml_parser = xml_parser_create("UTF-8");
    xml_set_element_handler($xml_parser, "startTag", "endTag");
    xml_set_character_data_handler($xml_parser, "cdata");
    xml_parser_set_option($xml_parser,XML_OPTION_CASE_FOLDING,FALSE);
    

    if( !xml_parse($xml_parser,$xml_text))
    {
        die(sprintf("XML error: %s at line %d",
        xml_error_string(xml_get_error_code($xml_parser)),
        xml_get_current_line_number($xml_parser)));
    };
    xml_parser_free($xml_parser);
    
    $xml_arr = $stack[0]["child"];
    array_pop( $stack);

    return $xml_arr;
};


Kod wrzucany do funkcji jak powyzej... a w zwracanej tablicy otrzymuje:

Kod
(...)
[value] => łkowska 50 / 33
(...)


Co jest? Co moge zrobic zeby dzialalo to poprawnie??

Z gory dziekuje za pomoc,
Pozdrawiam,
FlashT
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
carbolymer
post
Post #2





Grupa: Zarejestrowani
Postów: 102
Pomógł: 12
Dołączył: 27.01.2007
Skąd: north              Poziom: 158                     Tytuł: Miszcz

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


Źle przechowujesz dane w xml. Przed zapisem użyj iconv aby przekonwertować ISO-8859-2 do UTF-8, odwrotnie przy odczytywaniu.
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 - 07:04