Foros del Web » Programación para mayores de 30 ;) » Programación General »

Conflicto entre XML y PHP

Estas en el tema de Conflicto entre XML y PHP en el foro de Programación General en Foros del Web. Tengo un problema de caracteres al desglozar una página en PHP con XML. Esta se alimenta de un archivo de LANGUAGE XML (es_ES.xml), pero tambien ...
  #1 (permalink)  
Antiguo 08/08/2008, 12:08
 
Fecha de Ingreso: agosto-2008
Mensajes: 7
Antigüedad: 16 años, 6 meses
Puntos: 0
Conflicto entre XML y PHP

Tengo un problema de caracteres al desglozar una página en PHP con XML.
Esta se alimenta de un archivo de LANGUAGE XML (es_ES.xml),
pero tambien de PHPs adicionales para header, footer y contenido.

El XML del archivo para el lenguaje en menus empieza asi:
..........................
<?xml version="1.0" encoding="utf-8"?>
<language>
<id>es_ES</id>
<name>Español</name>
<charset>utf-8</charset>
<strings>
<!-- Language specific keys -->
<string id="language.type">ES</string>
<string id="language.name">Español</string>
<string id="language.charset">utf-8</string>
....................

Y el PHP (index.php) comienza con el siguiente codigo:
..............................
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="shortcut icon" href="http://www.forosdelweb.com/images/favicon.ico" type="image/x-icon" />
</head>
..............................................


POR LO TANTO :
1) Las palabras del XML para menus me salen bien con acentos y Ñ.
2) Pero la información que ingreso de bases de datos no. (Me pone cuadritos)
3) Si pongo "content=text/html; charset=iso-8859-1" en el INDEX.PHP, la información de bases de datos sale con acentos y Ñ, pero la información del archivo XML no, me sale codificada "Español".

Les agradezco cualquier recomendación que me puedan dar para resolver este conflicto.

saludos,
Daniel

Última edición por daor; 21/09/2008 a las 12:30
  #2 (permalink)  
Antiguo 08/08/2008, 22:16
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 23 años
Puntos: 90
Respuesta: Conflicto entre XML y PHP

debes cambiar ambos...

<?xml version="1.0" encoding="utf-8"?>

eso nunca mostrará un acento...debe estar todo en iso...

__________________
Esteban Quintana
  #3 (permalink)  
Antiguo 09/08/2008, 11:40
 
Fecha de Ingreso: agosto-2008
Mensajes: 7
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Conflicto entre XML y PHP

muchas gracias por la ayuda ...

poner iso-8859-1 a todo no funciona,

no entiendo porque existe este conflicto entre lo que viene de XML y lo que pongo directo en PHP.

tambien lo que vi es que Dreamweaver si lee bien archivos XML como "Español" pero al ver los archivos XML en CuteFTP me los lee asi: "Español".

???
Daniel
  #4 (permalink)  
Antiguo 10/08/2008, 16:18
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 23 años
Puntos: 90
Respuesta: Conflicto entre XML y PHP

...mmm...por cute FTP...y si abres ese xml desde un navegador ? digo de forma remota ? porque talvés sea la configuración del navegador web...o del sistema operativo...

Saludos
__________________
Esteban Quintana
  #5 (permalink)  
Antiguo 10/08/2008, 17:05
 
Fecha de Ingreso: agosto-2008
Mensajes: 7
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Conflicto entre XML y PHP

sí, fue extraño ver eso en el software ... es por eso que sigo en busca de un buen programa para editar codigo.

Con respecto a mi problema lo resolvi de la siguiente manera:

1) Convertir la información de la Base de Datos inmediatamente despues de conectarse
.................................................. ..............
//connect to the database server
$connection = mysql_connect($db_host, $db_username, $db_password) or die(mysql_error());

//select database
$db = mysql_select_db($db_name, $connection);
$db = mysql_query("SET NAMES utf8");
.................................................. ................

2) Tambien vi por ahi que le cambias directamente al "config" MySQL para converción.
...........................
init-connect='SET NAMES utf8'
............................


(me tarde demasiado en solucionar esto ... ojala que alguien le sirva esto)
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




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