no no, no esta tan facil como decis de ponerle el htmlentities....

lo mejor sería.... pasar toda la BD a utf-8 y cuando agregas
tambien... pero no uses el utf8_encode o el utf8_decode porque no
codifica bien...

yo estoy usando un script en JavaScript porque estoy trabajando con
xmlhttprequest... te lo paso:

-----------------------------------------------------------------------

function escape_utf8(data) {

if (data == '' || data == null){
return '';
}
data = data.toString();
var buffer = '';
for(var i=0; i<data.length; i++){
var c = data.charCodeAt(i);
var bs = new Array();

if (c > 0x10000){
// 4 bytes
bs[0] = 0xF0 | ((c & 0x1C0000) >>> 18);
bs[1] = 0x80 | ((c & 0x3F000) >>> 12);
bs[2] = 0x80 | ((c & 0xFC0) >>> 6);
bs[3] = 0x80 | (c & 0x3F);

}else if (c > 0x800){
// 3 bytes
bs[0] = 0xE0 | ((c & 0xF000) >>> 12);
bs[1] = 0x80 | ((c & 0xFC0) >>> 6);
bs[2] = 0x80 | (c & 0x3F);

}else if (c > 0x80){
// 2 bytes
bs[0] = 0xC0 | ((c & 0x7C0) >>> 6);
bs[1] = 0x80 | (c & 0x3F);

}else{
// 1 byte
bs[0] = c;
}

for(var j=0; j<bs.length; j++){
var b = bs[j];
var hex = nibble_to_hex((b & 0xF0) >>> 4) + nibble_to_hex(b & 0x0F);
buffer += '%'+hex;
}
}
return buffer;
}

function nibble_to_hex(nibble){
var chars = '0123456789ABCDEF';
return chars.charAt(nibble);
}


-----------------------------------------------------------------------
Esa funcion codifica muy bien los strings....


Ahora lo que tenes que hacer es bueno, como te dije... pasar la bd (si
la tenes antes) a utf-8.... despues controlar el envio de caracteres a
la bd con la funcion que te pase (tiene que haber una php pero no la
encontre)

Luego lo que tenes que hacer es traer los datos con XML... ya que la
codificacion del XML es estandar utf-8 y es muy fiel.

En la pagina adonde parsees el xml ponela que codifique en utf-8
(servidor) con el tipico header de php.

No se si es una solucion... pero a mi me andubo perfectamente y me
toma TODOS los caracteres que se te puedan llegar a ocurrir... hasta
letras chinas, letras romanas, árabes, lo que sea.

--
Saludos Atte.

Ignacio D. Giri 
Rosario, Argentina
_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://ovillo.org/mailman/listinfo/ovillo

Responder a