Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [xml] problem z kodowaniem
Forum PHP.pl > Forum > XML, AJAX > XML
grzegorz_g
takim skryptem , odczytuje dane z xml'a:

  1. <?php
  2. function recursive_obj2array( $obj )
  3. {
  4. $subject_array = array();
  5.  foreach ((array) $obj as $key => $var)
  6.  {
  7.  if (is_object($var))
  8.  {
  9.  if(count((array) $var) == 0)
  10.  {
  11.  $subject_array[$key] = 'NULL';
  12. }
  13. else
  14. {
  15. recursive_obj2array($var );
  16. }
  17. }
  18. else
  19. {
  20. $subject_array[$key] = $var;
  21. }
  22. }
  23. return $subject_array;
  24. }
  25.  
  26. echo '<pre>';
  27. $plik='http://www.goalserve.com/XMLSource.asp?sport=soccer&username=user1754&k=kjhg7&link=germany';
  28. $file=simplexml_load_file($plik);
  29. print_r( recursive_obj2array( $file ) );
  30. echo '</pre>';
  31. ?>


problem w tym iż w pliku xml wystąpią znaki np niemieckie znaki dialektyczne (umlaut) wtedy parser pokazuje bład:

Warning: simplexml_load_file() [function.simplexml-load-file]: http://www.goalserve.com/XMLSource.asp?spo...nk=germany:256: parser error : Input is not proper UTF-8, indicate encoding !
Bytes: 0xE4 0x74 0x74 0x65 in /var/www/web15/html/wetten/xml_parser/xslt_test.php on line 29


ja temu zaradzić questionmark.gif
mike
  • A XML na pewno jest w UTF-8?
  • Może daj treść która zawiera te znaki w sekcji CDATA
grzegorz_g
tego nie wiem czy jest to UTF-8 ja go ciągnę z innego serwera. nie wiem też gdzie miałbym wstawić to CDATA
krolp
Ja tesh mam problem z pobieraniem kodowaniem. Tyle, ze ja pobieram dane z innego pliku php i nie za bardzo wiem jak rozwiazac problem kodowania.

  1. <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=WINDOWS-1250">
  2. </HEAD>
  3. <script TYPE="text/javascript" LANGUAGE="JavaScript" SRC="advajax.js">
  4. function demo3(files) {
  5. advAJAX.setDefaultParameters({
  6. onInitialization : function(obj) { document.getElementById(obj.tag).innerHTML = "Preparing..."; },
  7. onLoading : function(obj) { document.getElementById(obj.tag).innerHTML = "Trwa ładowanie..."; },
  8. onSuccess : function(obj) { document.getElementById(obj.tag).innerHTML = obj.responseText;
  9. },
  10. onError : function(obj) { document.getElementById(obj.tag).innerHTML = "Error..."; }
  11.  
  12.  
  13. });
  14. advAJAX.get({ url: files,
  15. tag: "e3_div1"
  16.  
  17. });
  18. }
  19.  
  20.  
  21. <style TYPE="text/css">
  22. e3_div{
  23.  
  24. }
  25. <table width=90% border=1 cellpadding=0 cellspacing=0>
  26. <tr>
  27. <td width=50%>
  28. <div align=center onclick="demo3('dane.php?id=<? echo $id; ?>')">Dane personalne</div>
  29. </td><td>
  30. <div align=center onclick="demo3('obsady.php?id=<? echo $id; ?>')">Obsady</div>
  31. </td>
  32. </tr>
  33. <tr>
  34. <td colspan=2>
  35. <div id="e3">
  36. <div id="e3_div1" class="e3_div"></div>
  37. </div>
  38. </td>
  39. </tr>
  40. </body>
  41. </html>


  1. <?php
  2. $zapytanie1 = mysql_db_query("darknet_www", "SELECT * FROM liga_sedzia WHERE ID=$id");
  3. echo "<center><table width=90%>";
  4. while($wiersz1 = mysql_fetch_array($zapytanie1)) {
  5.  echo "<tr><td width=150>";
  6.  $foto = "./images/System/sedzia/" . $wiersz1[0] . ".jpg";
  7.  if(file_exists($foto)) { echo "<img src=./images/System/sedzia/$wiersz1[0].jpg height=170>"; }
  8.  else {
  9.  echo "<table width=170 height=170 bgcolor=silver><tr><td></td></tr></table></td>"; }
  10.  $miasto = iconv('', 'UTF-8', $wiersz1[5]);
  11.  echo "<td>";
  12.  echo "<table width=100%>"
  13.  . "<tr bgcolor=#F0F8FF><td align=right width=50%><b>Nazwisko</b></td><td>" . $wiersz1[2]
  14.  . "</td></tr>"
  15.  . "<tr bgcolor=#00BFFF><td align=right><b>Imię</b></td><td>" . $wiersz1[1]
  16.  . "</td></tr>"
  17.  . "<tr bgcolor=#F0F8FF><td align=right><b>Klasa sędziowska</b></td><td>" . $wiersz1[3]
  18.  . "</td></tr>"
  19.  . "<tr bgcolor=#00BFFF><td align=right><b>Miasto</b></td><td>" . $wiersz1[5] . "</td></tr>";
  20. echo "<tr bgcolor=#F0F8FF><td align=right><b>Adres</b></td><td>" . $wiersz1[7]
  21.  . "&nbsp;"
  22.  . $wiersz1[8];
  23. if($wiersz1[9] != 0) { echo "/" . $wiersz1[9]; }
  24. echo "</td></tr>"
  25.  . "<tr bgcolor=#00BFFF><td align=right><b>Kod pocztowy</b></td><td>" . $wiersz1[6]
  26.  . "</td></tr>"
  27.  . "<tr bgcolor=#F0F8FF><td align=right><b>Telefon stacjonarny</b></td><td>";
  28.  if($wiersz1[10] != 0 || $wiersz1[10] != "NULL") { echo $wiersz1[10]; } else { echo "<i>brak</i>"; }
  29. echo "</td></tr>"
  30.  . "<tr bgcolor=#00BFFF><td align=right><b>Telefon komórkowy</b></td><td>" . $wiersz1[11]
  31.  . "</td></tr>"
  32.  . "<tr bgcolor=#F0F8FF><td align=right><b>E-mail</b></td><td>";
  33.  if($wiersz1[12] != 0 || $wiersz1[12] != "NULL") {
  34.  echo "<a href=mailto:" . $wiersz1[12] . ">" . $wiersz1[12] . "</a>"; } else { echo "<i>brak</i>"; }
  35.  echo "</td></tr>"
  36.  . "<tr bgcolor=#00BFFF><td align=right><b>Gadu-Gadu</b></td><td>";
  37.  if($wiersz1[13] != 0 || $wiersz1[13] != "NULL") {
  38.  echo $wiersz1[13]; } else { echo "<i>brak</i>"; }
  39.  echo "</td></tr>"
  40.  . "</table>";
  41.  
  42. }
  43. echo "</center>";
  44.  
  45. ?>

będę wdzięczny za podsunięty pomysł.
Mam jeszcze jedno pytanie: jak klikam na diva i przeladowuje mi sie strona to chcialbym aby ten div zmienil rowniez swoje tlo i zeby to tlo bylo takie jakie bedzie tlo danej podstrony. jak to zrobic?
Sposob dzialania mozna zobaczyc tutaj: www.szps.kielce.pl/ajax/tester/id=19
grzegorz_g
nie chce rozpoczynać nowego wątki bo sprawa dotyczy tego samego pliku xml z tym że teraz

używałem do dzisiaj pliku xml z wynikami live:

dzisiaj, bo zamiast wyników otrzymije taki komunikat :


XML error: Mismatched tag at line 62


czy to winna mojego parsera, czy tez dostawcy tego pliku xml.

ps. proszę o szybką podpowiedź. Z góry dzięki za wszelkie sugestie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.