Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/11/2008, 13:33
jemarquesini
 
Fecha de Ingreso: noviembre-2006
Mensajes: 102
Antigüedad: 18 años, 2 meses
Puntos: 1
Leer ñ desde archivo xml

Buenas a todos

He estado buscando en varios sitios, este incluido, pero las soluciones dadas no me arreglan el problema.

Tengo un archivo query.php que extrae informacion de una bbdd y la formatea para crear un archivo xml. De hecho, no crea ese archivo, sino que devuelve el texto formateado, simplemente. El codigo es el siguiente:
Código PHP:
<?php
include("conexion.php");
$link=conectar();

function 
parseToXML($htmlStr

$xmlStr=str_replace('<','&lt;',$htmlStr); 
$xmlStr=str_replace('>','&gt;',$xmlStr); 
$xmlStr=str_replace('"','&quot;',$xmlStr); 
$xmlStr=str_replace("'","'",$xmlStr); 
$xmlStr=str_replace("&",'&amp;',$xmlStr);
return 
$xmlStr


// Seleccionamos los registros que deben ser mostrados en el mapa
$query "SELECT * FROM datos";
$result mysql_query($query,$link);
if (!
$result) {
  die(
'Invalid query: ' mysql_error());
}

header("Content-type: text/xml");
// Start XML file, echo parent node
echo '<marcas>';

// Iterate through the rows, printing XML nodes for each
while ($row = @mysql_fetch_assoc($result)){
  
// ADD TO XML DOCUMENT NODE
  
echo '<marca ';
  echo 
'nombre="'.parseToXML($row['nombre']).'" ';
  echo 
'direccion="'.parseToXML($row['direccion']).'" ';
  echo 
'telefono="'.$row['telefono'].'" ';
  echo 
'cp="'.$row['cp'].'" ';
  echo 
' />';
}

// End XML file
echo '</marcas>';

?>
Esto, tal como está ahi, no me devuelve las ñ. Probe en la funcion parseToXml a poner una linea con $xmlStr=str_replace("ñ",'&ntilde',$xmlStr); pero no funcionó. Tambien probé a poner otra linea header('version="1.0" encoding="ISO-8859-1"'); pero tampoco lo conseguí.

¿Alguna solución?

Gracias de antemano