Estimados tengo el script que les muestro, sé que existe en el foro información al respecto, el problema que he hecho de todo y no logro solucionar este problema que me está irritando ya que el tiempo se me acaba. No he podido solucionar la problemática de los caracteres especiales al grabar el xml que debo usar en un texto dinámico en el flash. Como verán existe una función que me cambia los caracteres, aún mas los he cargado sin hacer esta conversion....???
<?php
// Obtengo el Resultset de una basa datos
include("../cgi-bin/proxy.php");
include("../cgi-bin/strSql.php");
$objProxy=new proxy();
$nomarch='noticias';
$resultset=$objProxy->consultar($sql);
//Armo el xml
$sxml = '<?xml version="1.0" encoding="utf-8"?>';
$sxml = $sxml."<".$nomarch.">";
while($row=mssql_fetch_row($resultset)) {
$titulo=cambio_texto ($row[3]);
$contenido=cambio_texto ($row[5]);
$sxml = $sxml.'<'.$nomarch.' id="'.$row[0].'" fecha="'.$row[1].'" titulo="'.$titulo.';" contenido="'.$contenido.'" />';
}
$fichero="../contenidos/noticias/noticias.xml";
//luego Escribo el $fichero
//Me parece que acá está el problema cuando escribe el fichero
$fp=fopen($fichero, "w");
fwrite($fp, $sxml);
fclose ($fp);
function cambio_texto ($texto) {
$n_texto=ereg_replace("á","á",$texto);
$n_texto=ereg_replace("é","é",$n_texto);
$n_texto=ereg_replace("í","í",$n_texto);
$n_texto=ereg_replace("ó","ó",$n_texto);
$n_texto=ereg_replace("ú","ú",$n_texto);
$n_texto=ereg_replace("Á","Á",$n_texto);
$n_texto=ereg_replace("É","É",$n_texto);
$n_texto=ereg_replace("Í","Í",$n_texto);
$n_texto=ereg_replace("Ó","Ó",$n_texto);
$n_texto=ereg_replace("Ú","Ú",$n_texto);
$n_texto=ereg_replace("ñ", "ñ",$n_texto);
$n_texto=ereg_replace("Ñ", "Ñ",$n_texto);
return $n_texto;
}
?>
Cuando aplico la funcion cambio_texto en el editor del macromedia los caracteres espaciales aparecen con su respectivo código por ejem el (ó) aparace ó cuando ejecuto el flash donde se cargan los datos en el texto dinámico aparece todo pero no interpreta estos caracteres, osea aparece por ejemplo Logró como Logró .... La verdad agradecería vuestra colaboración ya que no he podido ver donde está el problema.