Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [XML] krzaki w znacznku - błąd kodowania?
adek-
post
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 2
Dołączył: 19.04.2007
Skąd: Częstochowa

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


Edytowany: Przepraszam nie zauważyłem powyżej sub działu dotyczącego samego XML -> bardzo przepraszam i proszę o przeniesienie jeżeli bardzo źle umieściłem mój wątek

Witam z xml'em dopiero dzisiaj zacząłem zabawę i dlatego w zasadzie mam dwa laickie problemy/pytania. Poszukał bym sam, ale na razie nie wiem jakie słowa kluczowe mam zahaczyć aby znaleźć rozwiązanie nurtującego mnie problemu.
1. dostałem duży plik xml po rozpakowaniu ponad 50 mb (wyszukiwarka rejsów na stronę z ogromną ilością wpisów), czy wczytywanie tego na stronę będzie miało wpływ na ładowanie się strony?
2. W tym pliku w niektórych znacznikach np: opis, pelny_opis,zdjecie, są składnie chaotycznych liter typu "xJio3 IL DSKJFlasdkfjie" a większość jest ok, co to może znaczyć?
wklejam przykład 1 rekordu z pliku xml:

  1. <rejs>
  2. <id_rejsu>105</id_rejsu>
  3. <nazwa>Norweskie Fiordy</nazwa>
  4. <data>
  5. <od>2006-06-10 00:00:00</od>
  6. <do>2006-06-17 00:00:00</do>
  7. </data>
  8. <typ_rejsu>standardowy</typ_rejsu>
  9. <statek>
  10. <id_statku>19</id_statku>
  11. <nazwa>MSC Lirica</nazwa>
  12. <linia>msc</linia>
  13. <opis>U3RhdGVrIG8gc3RhbmRhcmR6aWUgNCogbmFsZb+xY3kgZG8gZmxvdHkgTWVkaXRlcnJhbmVhbiBTaGlw
    cGluZyBDcnVpc2VzIChNU0MpLiBOYSA4IHBva7NhZPN3IHBhc2G/ZXJza2ljaCB6YWJpZXJhIDIuMjAwIHBhc2G/ZXLzdy4=</opis>
  14. <opis_pelny>rLiAyMm0mIzE3ODspLjwvZGQ+DQogPC9kbD4=</opis_pelny>
  15. <foto>http://namorzu.pl/images/statki/statek_msc_lirica.jpg</foto>
  16. </statek>
  17. <info_dodatkowe></info_dodatkowe>
  18. <opis>ZHplbml1OyBjZW55IHd5Y2llY3playBmYWt1bHRhdHl3bnljaCwgcHJvcG96eWNqZSBkb2phemR1IGRv
    IHBvcnR1LCBob3RlbGkgcHJ6ZWQvcG8gcmVqc2llIG5hIHphcHl0YW5pZS4NCjwvZGQ+DQo8L2RsPg==</opis>
  19. <mapka>http://namorzu.pl/namorzu/images/mapki/msc_norweskie_fiordy.jpg</mapka>
  20. <trasa_rejsu>Dania,Niemcy,Norwegia</trasa_rejsu>
  21. <promocja></promocja>
  22. <pilot> </pilot>
  23. <region>Norweskie Fiordy</region>
  24. <id_rejsu_wzorcowego></id_rejsu_wzorcowego>
  25. </rejs>


Poniżej przykład jak zacząłem wyciągać powoli dane, ale krzaki w znacznikach: opis, pelny_opis, zdjecie, mnie powstrzymały.
Domyślam się, że motyw ze zdjęciem to tak jak by otworzyć jpg w notatniku i pokazują się takowe krzaczki (trzeba bedzie uzyć jakiegoś dekodera czy jak), ale opis i pelny_opis? Zwłaszcza ze ponizej znacznik mapka pokazuje odnośnik do zdjęcia które wyświetla się poprawnie
  1. <?
  2. $rejsy = simplexml_load_file('dane/export.xml/baza.xml');
  3.  
  4. echo '<ul>';
  5. foreach ($rejsy->rejsy as $r) {
  6. foreach ($r->rejs as $rx) {
  7. echo '<li>XX ';
  8. echo $rx->id_rejsu;
  9. echo ': ';
  10. echo $rx->nazwa;
  11. echo ': ';
  12. echo $rx->data->od;
  13. echo ' ';
  14. echo $rx->data->do;
  15. echo ' (';
  16. echo $rx->typ_rejsu;
  17. echo ')</li>';
  18. foreach ($rx->statek as $s) {
  19. echo ' ';
  20. echo $s->id_statku;
  21. echo ': ';
  22. echo $s->nazwa;
  23. echo ' ';
  24. echo $s->linia;
  25. echo ': ';
  26. // echo $s->opis;
  27. //echo $s->opis_pelny;
  28. echo '<img src=" ';
  29. echo $s->foto;
  30. echo ' ">';
  31. }
  32. }
  33. echo '</ul></li>';
  34. }
  35. echo '</ul>';
  36. ?>


Proszę o podpowiedź

//EDITED - pozwoliłem sobie skrócić zakodowaną część opisu, żeby forum się nie rozjeżdżało.

Ten post edytował adek- 24.03.2010, 16:37:00
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
adek-
post
Post #2





Grupa: Zarejestrowani
Postów: 124
Pomógł: 2
Dołączył: 19.04.2007
Skąd: Częstochowa

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


Faktycznie znalazłem manuala i się starałem zastosować do niego: string iconv ( string $in_charset , string $out_charset , string $str )
Lecz jeśli chodziło o ten deseń, to nie bardzo działa.
  1. foreach ($s->opis as $os) {
  2. iconv("iso-8859-2","utf-8",$os);
  3. }

próbowalem też kombinować w ten sposób
  1. foreach ($s->opis as $os) {
  2. echo base64_decode(iconv("iso-8859-2","utf-8",$os));
  3. }

jak sobie wpisze zamiast zmiennych tekst to mi niby przekonwertuje, ale gdy tekst mam jako zmienną z xml i do tego muszę dekodować go z base64 to nie bardzo chce działać... po prostu albo znika ten tekst i się nie wyświetla, albo wyświetla się bez zmian.
Go to the top of the page
+Quote Post

Posty w temacie


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: 6.10.2025 - 18:43