Foros del Web » Programando para Internet » PHP »

Tildes y ñ con php y dom para api de google maps

Estas en el tema de Tildes y ñ con php y dom para api de google maps en el foro de PHP en Foros del Web. Buenos días amigos del foro estoy realizando una aplicación utilizando el api de google maps, en donde hago una consulta a una tabla en mysql ...
  #1 (permalink)  
Antiguo 09/04/2009, 08:09
Avatar de PICOROFG  
Fecha de Ingreso: febrero-2008
Ubicación: Quito, Ecuador, Ecuador
Mensajes: 120
Antigüedad: 16 años, 2 meses
Puntos: 0
Pregunta Tildes y ñ con php y dom para api de google maps

Buenos días amigos del foro estoy realizando una aplicación utilizando el api de google maps, en donde hago una consulta a una tabla en mysql con php, la misma que deseo que genere el xml necesario para utilizarlo en el api, el problema radica que tengo error el momento en que existen tildes y ñ en la tabla de la base y quiero generar el xml utilizando el dom.
Talvez alguna ayuda para poder resolver el problema.
Gracias de antemano por atender mi pregunta.

Pongo el código que estoy utilizando.

Código PHP:
// Start XML file, create parent node
$dom = new DOMDocument("1.0");
$node $dom->createElement("markers");
$parnode $dom->appendChild($node);
 
// Opens a connection to a MySQL server
 
$server="10.64.18.59";
 
$connection=mysql_connect ($server$username$password);
 if (!
$connection) {  
 die(
'Not connected : ' mysql_error());
 } 
 
// Set the active MySQL database
 
$db_selected mysql_select_db($database$connection);
 if (!
$db_selected) {  
 die (
'Can\'t use db : ' mysql_error());
 } 
 
// Select all the rows in the markers table
 
$query "SELECT * FROM uoperativa WHERE 1";
 
$result mysql_query($query);if (!$result) {    
 die(
'Invalid query: ' mysql_error());} 
 
header("Content-type: text/xml");
 
 
// Iterate through the rows, adding XML nodes for each
 
while ($row = @mysql_fetch_assoc($result)){    
 
// ADD TO XML DOCUMENT NODE    
 
$node $dom->createElement("marker");
    
 
$newnode $parnode->appendChild($node);    
 
$newnode->setAttribute("name",$row['descripcion']);  
 
$newnode->setAttribute("address"$row['direccion']);    
 
$newnode->setAttribute("lat"$row['lat']);    
 
$newnode->setAttribute("lng"$row['lng']);    
 
$newnode->setAttribute("type"$row['tipo']);
 
$newnode->setAttribute("cod"$row['cod_uop']);
 } 
 echo 
$dom->saveXML();
 
?> 
  #2 (permalink)  
Antiguo 09/04/2009, 08:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Tildes y ñ con php y dom para api de google maps

Usa utf8_encode() para codificar tu documento XML, así generas un XML válido.

Saludos.
  #3 (permalink)  
Antiguo 09/04/2009, 08:33
Avatar de PICOROFG  
Fecha de Ingreso: febrero-2008
Ubicación: Quito, Ecuador, Ecuador
Mensajes: 120
Antigüedad: 16 años, 2 meses
Puntos: 0
Hola Gatorv,

Gracias por responder puse el el utf8_encode() en el header pero sigue con el mismo error talvez estoy mal en algo? me podrías ayudar ya que estoy comenzando a utilizar este api con php

Este es el error que sale, al mometo de crear el xml

<br />
<b>Warning</b>: DOMElement::setAttribute() [<a href='domelement.setattribute'>domelement.setattri bute</a>]: string is not in UTF-8 in <b>C:\AppServ\www\CARACTERIZACION\php\mapa\phpsqla jax_genxml.php</b> on line <b>30</b><br />
<br />
<b>Warning</b>: DOMDocument::saveXML() [<a href='domdocument.savexml'>domdocument.savexml</a>]: output conversion failed due to conv error, bytes 0xC1 0x3A 0x4C 0x45 in <b>C:\AppServ\www\CARACTERIZACION\php\mapa\phpsqla jax_genxml.php</b> on line <b>37</b><br />
<?xml version="1.0" encoding="UTF-8"?>
<markers><marker name="LOS TRIG

Última edición por GatorV; 09/04/2009 a las 08:57
  #4 (permalink)  
Antiguo 09/04/2009, 08:57
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Tildes y ñ con php y dom para api de google maps

No es en el header() es dentro del documento donde tienes las tildes o la ñ.

Saludos.
  #5 (permalink)  
Antiguo 09/04/2009, 10:48
Avatar de PICOROFG  
Fecha de Ingreso: febrero-2008
Ubicación: Quito, Ecuador, Ecuador
Mensajes: 120
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Tildes y ñ con php y dom para api de google maps

Gracias GatorV, entendí a que te referías,
con esto lo soluciono:
Código PHP:
 $newnode->setAttribute("name",utf8_encode($row['descripcion'])); 
  #6 (permalink)  
Antiguo 24/09/2009, 16:45
 
Fecha de Ingreso: septiembre-2009
Mensajes: 1
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Tildes y ñ con php y dom para api de google maps

Hola man Gracias el utf8_encode me resolvio el mismo problema
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 06:09.