Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/01/2013, 07:46
kiri_vfk
 
Fecha de Ingreso: diciembre-2012
Mensajes: 17
Antigüedad: 11 años, 10 meses
Puntos: 0
Problemas Ñ y acentos con utf8_ encode

Tengo un problemilla con los datos xml que me pasan desde un servidor como respuesta a mis consultas. El caso es que al crear el xml le pongo la codificacion utf8 pero no parece que haga caso.

Este es el codigo PHP:

Código PHP:
Ver original
  1. <?php
  2. //XML Request
  3. $xml = "codigousu=" ."LORE";
  4. $xml .= "&clausu=" . "xml302528";
  5. $xml .= "&afiliacio=" . "HA";
  6. $xml .= "&secacc=" . "69210";
  7. $xml .= "&xml=";
  8. $xml2 = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n";
  9. $xml2 .= "<peticion>
  10. <nombre>Petici?n de Paises</nombre>
  11. <agencia>Hotusa</agencia>
  12. <tipo>5</tipo>
  13. </peticion>";
  14.  
  15. $xml .= urlencode($xml2);
  16. $length = strlen($xml);
  17. //XML Connection
  18. $fp = @fsockopen("xml.hotelresb2b.com", 80);
  19. fputs($fp, "POST http://xml.hotelresb2b.com/xml/listen_xml.jsp HTTP/1.0\nUser-Agent: PHP XMLRPC 1.1\r\n");
  20. fputs($fp, "Host: xml.hotelresb2b.com\n");
  21. fputs($fp, "Content-Type: application/x-www-form-urlencoded\n");
  22. fputs($fp, "Content-Length: " . $length . "\n");
  23. fputs($fp, "\n");
  24. fputs($fp, $xml);
  25. $respuesta = "";
  26. while(!feof($fp)) $respuesta .= fgets($fp);
  27.  
  28. fclose ($fp);
  29. //XML Answer
  30. $xml = substr($respuesta, strpos($respuesta, "<?xml"));
  31. //$xml = new SimpleXMLElement($xmlstr);
  32. //Simple XML is available from php5
  33. $sxe = new SimpleXMLElement(utf8_encode($xml), LIBXML_NOCDATA);
  34. echo '<form name="formulario" action ="" method="get">';
  35. echo'<select name="paises" onChange="this.form.submit();">';
  36. foreach ($sxe->parametros->paises->pais as $pais)
  37. {
  38.    
  39.     echo'<option value="'.$pais->codigo_pais.'"';
  40.     if (strcmp($pais->codigo_pais, $_GET['paises'])==0)
  41.     {
  42.     echo ' selected="selected">';
  43.     }  
  44.     else
  45.     {
  46.     echo ">";
  47.     }
  48.     echo $pais->nombre_pais;
  49.     echo'</option>';
  50. }
  51. echo'</select>';
  52. ?>
Este es el resultado (ver por ejemplo españa):
http://www.goodfly.es/index.php/hoteles/integracion