Mostrar ñ en grid
Espero que se encuentren bien, les planteo mi duda:
tengo un grid el cual se llena mediante un script en php llamado mediante AJAX, este script, ejecuta un SP sobre SQL Server dicho SP me regresa los registros con varios campos uno de ellos es el campo nombre en este campo hay personas que en su nombre tienen la letra ñ, y estos registros son los que no se muestran en el grid.
El grid en su parametro store tiene asignado a lector.
El grid se llena al darle click a un boton, el cual en su propiedad Handler RECARGO el lector del grid de la siguiente forma:
lector.reload({ params: { tienda: valor } })el lector es de tipo: Ext.data.JsonStore y esta declarado de la siguiente forma:
var lector = new Ext.data.JsonStore({ url: 'pagina.php' , root: 'data' , totalProperty: 'total' , fields: categoriasDeRegistros });categoriasDeRegistros esta declarado de la siguiente forma:
var categoriasDeRegistros = new Ext.data.Record.create([ {name: 'codigo', type: 'int'} , {name: 'nombre', type: 'string'} ]);Espero haberme explicado, muchas gracias por su atencion . . .
lo primero que tienes que asegurarte es que ne la base de datos esten guardados correctamente los acentos, lo siguiente es asegurarte que el encoding sea el correcto.
la recomendación es que el encoding sea "UTF-8" pues soporta todos los caracteres, incluyendo "ñ" y acentos.
en tu HTML segurate de especificarle el encoding apropiado también, esto de la siguiente manera:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />no se que lenguaje estes utilizando en el servidor, pero debes especificar en las cabeceras de la respuesta del servidor cuando haces el "load" del store, el mismo encoding de tu HTML por ejemplo: en PHP
header('Content-Type: text/html; charset=utf-8');en Java
response.setHeader("content-type","text/html; charset=utf-8");prueba lo que te dije y me cuentas luego... saludos
Muchas gracias por tu comentario voy a colocar las cabeceras, el lenguaje que estoy utilizando es PHP y pagina.php regresa texto en formato JSON, en la base de datos la ñ esta tal cual como letra, NO esta en codigo como por ejemplo algo asi ñ
Gracias y saludos. . .
Hola stock, puse la linea HTML que me proporcionaste en la pagina donde renderizo el grid y la linea de PHP en el script donde genero la respuesta JSON y sigue sin funcionar, sigo buscandole, pero todavia no encuentro nada . . .
Ok, no se si has venido siguiendo todo el curso desde el principo, pero en uno de los videos (creo que en los últimos) me pasó que no se veian los acentos ni las "Ñ", lo que hice entonces fué cambiar el encoding del archivo fuente estaba en "ANSI" y lo cambié por "UTF-8", prueba eso a ver si te funciona.
verifica como aparece en el firebug la letra "Ñ" cuando ahce el load.
dejame decirte que este no es un error propio de Ext JS, esto sucede por el encoding, realmente es un problema a mi me ha pasado varias veces y casi siempre lo resuelvo diferente dependiendo del escenario.
saludos y suerte
¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook
Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.