AJAX - Acento

 
Vista:

Acento

Publicado por Alvaro (3 intervenciones) el 20/11/2006 09:04:28
Hola, tengo un grave problema con ajax y es que al estar haciendo la petición a una página asp me devuelve palabras con acentos y éstos se me ven como caracteres raros. Entonces alguien sabe como hacer que esto funcione?? hago el urlencode en asp y el decode con javascript pero no me funciona :-(
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Acento solucionado

Publicado por fernando (1 intervención) el 29/11/2006 18:15:45
Yo hice asi: primero cree una funcion en asp que me convierte todos los carecateres especiales en otros caracteres por ej:
function transformar(text)
text = replace(text,"Ñ","..N..")
text = replace(text,"Á","..A..")
text = replace(text,"É","..E..")
text = replace(text,"Í","..I..")
text = replace(text,"Ó","..O..")
text = replace(text,"Ú","..U..")
text = replace(text,"Ü",".UUU.")
text = replace(text,"ü",".uuu.")
text = replace(text,"ñ","..n..")
text = replace(text,"á","..a..")
text = replace(text,"é","..e..")
text = replace(text,"í","..i..")
text = replace(text,"ó","..o..")
text = replace(text,"ú","..u..")
text = replace(text,"°","..x..")
transformar = trim(text)
end function
esta funcion la pones en la pagina que que trabajas en segundo plano, por ej: response.write( transformar(algun_texto))

despues en la pagina en la que esperas la respuesta escribis una funcion en jabascript asi:
<script>
function super_spanish(text){
text = text.replace("..N..","Ñ");
text = text.replace("..A..","Á");
text = text.replace("..E..","É");
text = text.replace("..I..","Í");
text = text.replace("..O..","Ó");
text = text.replace("..U..","Ú");
text = text.replace("..n..","ñ");
text = text.replace("..a..","á");
text = text.replace("..e..","é");
text = text.replace("..i..","í");
text = text.replace("..o..","ó");
text = text.replace("..x..","°");
text = text.replace(".UUU.","Ü");
text = text.replace(".uuu.","ü");
return text;
}
</script>

//y en el objeto request aplicas la funcion para que te tradusca
var mi_texot = super_spanish(http.responseText)

RESUMEN: en la pagina que trabajas en 2do plano le transformas todos los carateres especiales antes que lo imprimas; en la pagina que hiciste la peticion haces una conversion de esos caracters especiales que le pusiste por lo que corresponde, la conversion la hace en una fraccion de segundo, yo lo hice y me funciona correctamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Acento solucionado

Publicado por marcelo (2 intervenciones) el 05/12/2006 18:17:31
X fin una buena solución, lo único es q no toma los espacios en blancos en java para así cambiar todos los caracteres transformados a spanish, a escepción del remplazo en asp (Trim). Sólo cambia el primero q encuentre de acuerdo a los text.replace en en ajax.

.....Gracias :-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Acento solucionado

Publicado por marcelo (2 intervenciones) el 05/12/2006 19:23:29
encontré la solución, hay q usar el método indexOf con un while para así tomar todas las concurrencias q existan

ojalá sirva a alguien


do {

str = str.replace('a','o');

} while(str.indexOf('a') >= 0);


chauuuuuuuuu''''....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar