Foros del Web » Programando para Internet » Javascript » Frameworks JS »

problema con Prototype

Estas en el tema de problema con Prototype en el foro de Frameworks JS en Foros del Web. Hola, tengo un gran problema con Prototype que no he podido resolver, les comento: Tengo un formulario con textareas y checkboxes que envio atravez de ...
  #1 (permalink)  
Antiguo 04/01/2007, 19:49
 
Fecha de Ingreso: mayo-2006
Mensajes: 119
Antigüedad: 18 años
Puntos: 0
Exclamación problema con Prototype

Hola, tengo un gran problema con Prototype que no he podido resolver, les comento:

Tengo un formulario con textareas y checkboxes que envio atravez de ajax hacia guardar.php. El problema biene cuando guardo esos datos en una base, ya que me guarda los datos con caracteres extraños en donde hay acentos y eñes.
Por ejemplo: "á é í ó ú" lo guarda como "á é Ã* ó ú"


El formulario es simple, onsubmit="guardar('abm/guardar.php','form1'); return false "

y el codigo en ajax que hace de transferencia:

function guardar(url, formid){

new Ajax.Request(url, {

parameters : //parametros del formulario
Form.serialize($(formid)),

method : //metodo
"post",

});

}


Si por ejemplo en el form escribo: caño y hago un alert de la serialización caño lo traduce a ca%C3%B1o... entonces lo envia a guardar que lo recibe y lo guarda en la base con el texto: caño

Ya no se que mas probar, intente agregando:
contentType: 'application/x-www-form-urlencoded; charset=ISO-8859-1',
pero igualmente los datos se graban mal en la BD.

Desde ya estaría muy agradecido por cualquier ayuda que me puedan dar.
  #2 (permalink)  
Antiguo 05/01/2007, 02:35
Avatar de Valkam  
Fecha de Ingreso: junio-2006
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: problema con Prototype

Yo tuve un problema muy parecido y parece que es algo que se repite bastante.
El problema es que el navegador cuando envia los datos mediante POST los envia codificados como UTF-8 y por GET como iso-8859-1. En tu caso que usas POST, los envia como UTF-8 al estar usando POST. Supongo que tu servidor esta configurado con el charset por defecto iso-8859-1 y por ello al deserializar los datos algunos caracteres como la ñ se traducen de forma extraña.

Este es un problema que ha existido siempre independientemente de AJAX. La solución más sencilla es codificar completamente los datos del formulario con UTF antes de enviarlos con la función escape de javascript. Luego en el servidor deberás de descodoficar los datos a la codificacion de caracteres que te interese que en tu caso creo que es iso-8859-1.
Conozco como hacerlo en Java pero no en php, aunque estoy seguro de que existen funciones para ello.

Un Saludo
  #3 (permalink)  
Antiguo 05/01/2007, 09:30
 
Fecha de Ingreso: mayo-2006
Mensajes: 119
Antigüedad: 18 años
Puntos: 0
Re: problema con Prototype

Muchas gracias por la respuesta, sigo buscando por ese lado entonces.

un abrazo!
  #4 (permalink)  
Antiguo 08/01/2007, 08:58
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Re: problema con Prototype

loading............


usaste en el servidor con PHP la funcion urldecode() ?


connection closed.
__________________

Maborak Technologies
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 02:46.