Cita:
Iniciado por gnzsoloyo
Regla básica de desarrollo de aplicaciones con bases de datos: Si los nombres acentuados se almacenan bien al insertarlos manualmente, entonces el problema no está en la base.
Está en alguna parte de la interfaz de usuario que envía el INSERT a la base.
Te hago notar una cosa:
Como conclusión lógica es que en alguna parte de la codificación Ajax, se está manejando esas cadenas de texto con una codifiación incorrecta. Con sólo que en una etapa no se esté controlando la codificación, alcanza.
Revisa todo el código nuevo en cada etapa.
El problema está alli.
A ver, no estoy seguro de que el error se encuentre en donde dices por lo siguiente: En la función Ajax, serializo los campos del formulario, la cual (la función Ajax) los envía a otro archivo el cual, mediante el uso de una clase, lo guarda en la BD, algo similar a esto:
Código Javascript
:
Ver originalfunction guardar(formulario, destino){
$.ajax({
type: "POST",
url: destino,
dataType: "HTML",
data: $("#"+formulario).serialize(),
beforeSend: function(){
$("#cargando").show();
},
success: function(response){
$("#principal").html($(response).fadeIn(1000));
$("#cargando").hide();
}
});
}
Código PHP:
Ver original$cls_ficha_test = new Cls_Ficha_Test();
if($_POST){
$cls_ficha_test->nombre = $_POST['nombre'];
$cls_ficha_test->genero = $_POST['genero'];
$cls_ficha_test->instruccion = $_POST['instruccion'];
$cls_ficha_test->ocupacion = $_POST['ocupacion'];
$cls_ficha_test->direccion = $_POST['direccion'];
if($cls_ficha_test->AnadirFicha())
echo "Datos guardados";
else
echo "Error al guardar los datos";
}
El código está un poco recortado pues abarca más líneas de código, pero esto es esencialmente lo que realiza el proceso de guardado de datos en la BD.
En la clase, los guardo en la BD como normalmente se realiza mediante un simple
INSERT, aunque ahora, en otras aplicaciones, valido los datos recibidos con el uso de expresiones regulares y los guardo con procedimientos almacenados, pero bueno, eso no viene al caso ahora.
Otro detalle que vuelvo a recalcar es que estos datos se visualizaban completos hasta hace no menos de un par de semanas, luego es que ocurrió el acortamiento de algunos de estos datos, además, el uso de Ajax lo implementé
HACE MÁS DE 2 MESES, es por eso que no encuentro coherencia en estos hechos pues si fuera por implementar Ajax, el problema se hubiera suscitado hace más de 2 meses y no desde hace poco.
Y solo por si a caso, los datos que se han recortado, fueron guardados hace ya más de 1 mes (otros desde que empezó a usarse el sistema con Ajax).