a) Busca sobre las funciones utf8_encode y utf8_decode
b) Aquí te dejo un código que use para cargar un grid con una lista de contactos, dentro de XML, incluye foto y el evento necesario para que al seleccionar a la persona, se cambie la foto... estudialo y si tienes dudas me avisas...
Código :
var xmldir:XML = new XML();
xmldir.ignoreWhite = true;
dfoto = new Array();
largo = 0;
xmldir.onLoad = function(exito)
{
if(exito)
{
largo = xmldir.firstChild.childNodes.length;
foto = new Array(largo);
nombre = new Array(largo);
cargo = new Array(largo);
correo = new Array(cargo);
for (i=0; i<largo; i++) {
nombre[i] = xmldir.firstChild.childNodes[i].attributes.nombre;
foto[i] = xmldir.firstChild.childNodes[i].attributes.foto;
cargo[i] = xmldir.firstChild.childNodes[i].attributes.cargo;
correo[i] = xmldir.firstChild.childNodes[i].attributes.correo;
}
llena_grid();
}
}
xmldir.load("bds/directivos.xml");
function llena_grid()
{
directorio.setSize(450,160);
directorio.editable = false;
Datos = new Array();
directorio.dataProvider = Datos;
for (i=0; i<nombre.length; i++)
{
Datos.addItem({Nombre:nombre[i], Cargo:cargo[i], Correo:correo[i]});
}
dfoto.length = largo;
for (x=0; x<largo; x++)
{
dfoto[x] = foto[x];
trace(dfoto[x]);
}
// Deja la foto del primer elemento del grid
mc_foto.loadMovie(dfoto[0]);
directorio.getColumnAt(0).width = 150;
directorio.getColumnAt(1).width = 120;
directorio.getColumnAt(2).width = 180;
}
// Gestiona los datos cuando son seleccionados del datagrid
var cambiagrid = new Object();
cambiagrid.change = function(evento)
{
mc_foto.loadMovie(dfoto[evento.target.selectedIndex]);
//trace(evento.target.selectedIndex);
}
directorio.addEventListener("change", cambiagrid);
PD. Esto no debería estar en ActionSCript o Flash???? BOFH de turno...!!!!