FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Letra Ñ con MySQL y Delphi
Buenas para todos, en primer lugar dos cosas:
1- Se que en el foro hay varios hilos sobre el tema 2- Puse el hilo en la parte de Base de datos, aunque no creo que sea especificamente problema de MySQL Hecha esta introducción, paso a comentarles el problema que estoy teniendo. Resulta que cuando quiero guardar algun string que tiene la letra "ñ" en la BBDD me lo guarda como "ñ"... me he roto la cabeza durante meses, cambie el my.ini, intenté setear las propiedades del ZConnection (Zeos) en el beforeConnect y nunca he logrado solucionarlo. Lo raro es que desde el Workbench el MySQL guarda la "ñ" perfectamente. Hoy, buscando mas acerca de este problema, encontre que alguien decia que cambiando el charset de la DBGrid a OEM_CHARSET se veria correcto, pero no fue asi. Lo que me sirvio es ver que si yo harcodeo el string en la query, la "ñ" se guarda perfectamente en la BBDD, es decir que si en el componente ZQuery en lugar de tomar un parametro, pongo un texto con "ñ", lo guarda perfectamente. De aqui pude observar que el problema esta cuando paso algun string con "ñ" por parametro a la query. Les dejo el codigo delphi que ejecute para los cuales la insercion no funciona...
Ahora si en la query harcodeo el campo direccion de la siguiente manera, lo guarda perfecto:
Puede ser esto por alguna configuracion del Delphi XE???? Desde ya muchas gracias!!!! |
#2
|
|||
|
|||
A esto agrego algo mas...
En mi notebook tengo instalados el Delphi 5 y el Delphi XE... (obviamente que no bajo el mismo windows... tengo un win7 con D5 y otro con DXE). Con el Delphi 5, tengo el Zeos version 6.6 stable, y en el Delphi XE tengo el 7.0dev. Para el Delphi 5, me inserta la "ñ" perfectamente... me queda solo pensar que es algo del Embarcadero Delphi XE o algo de la version de Zeos... |
#3
|
||||
|
||||
El mismo Zeos trae el componenet ZSQLMonitor que te permite guardar en un archivo de texto los comandos "crudos" que tu aplicación va mandando. Puedes usarlo para ver como le está mandando Zeos el query, ahí saldrás de dudas ya que veras el query completo. No es recomendable usar las versiones "dev" porque son las que están apenas en desarrollo y normalmente tienen muchos bugs que no han sido descubiertos o bien aunque ya se conozcan se van a corregir posteriormente durante el desarrollo. Las beta o gamma pueden servir aunque también son de prueba. Lo mejor es usar las versiones estables y si no las hay tener este detalle en cuenta a la hora de usarlas.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#4
|
|||
|
|||
Buenas AzidRain...
use el SQLMonitor y me arrojo el siguiente resultado: 2013-08-13 19:16:34 cat: Execute, proto: mysql-5, msg: update clientes set nombre = 'nombre', apellido = 'apellido', direccion = 'Av. España', idProvincia = 1, idlocalidad = 1, codigoPostal = '1', telefono = '', celular = '', idTipoDocumento = 1, nroDocumento = '22222222', idCondicionIVA = 2, observaciones = '\r\n' where idCliente = 8 Lo que me llama la atencion de este log, es que yo tengo instalado el mysql 6, no entiendo por que razon dice "proto: mysql-5"... de hecho en el componente Zeos, tengo seleccionado el protocol en "mysql", sin el 5. |
#5
|
|||
|
|||
Aca si que estoy perdido...
Supuestamente, segun el SQLMonitor los parametros estan perfectos... se ve que dice 'Av. España'. Es mas, como puse anteriormente, si yo hardcodeo el dato en la query que hace el update o el insert, el dato lo inserta perfecto. Por lo cual supuse que el parametro llegaba erroneo a la query, y que el Zeos no teniaproblema. Ahora veo que la query recibe el parametro sin modificar la ñ. Por lo cual descarto esa posibilidad. Lo que no se es en donde esta la falla. Si la falla esta en el Zeos... no entiendo porque lo inserta/actualiza de manera correcta en el hardcodeo. Si la falla esta en los parametros... no entiendo porque razon el SQLMonitor los muestra bien. Abrazo! |
#6
|
|||
|
|||
Bien, para aportar un dato mas... he probado el siguiente codigo:
Y el dato se inserta perfectemente... por lo cual, supongo que el problema estaría en pasaje de parametros. Mas alla de que en el SQLMonitor veo que el parametro se manda bien, es la unica que me queda pensar. Probe hardcodeando dentro del componentes ZQuery... probe poniendo la query hardcodeada desde codigo y funciona bien. |
#7
|
|||
|
|||
TEMA CERRADo... el problema era la version del ZEOS.
Instale la 7.0.4 stable y guarda la "ñ" perfectamente... Gracias por el consejo AzidRain. Abrazo para todos!! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
TextBox escribir automaticamente letra por letra? Ejemplo Dentro! | Gattaca | Varios | 2 | 21-03-2009 17:41:32 |
Leer archivo txt letra por letra | intercubo | Varios | 14 | 16-02-2008 21:22:28 |
como hago una sopa de letra en delphi me ayudan | vicdem | Varios | 4 | 29-06-2006 00:58:07 |
Pulsar una letra en un DBgrid y que vaya al campo que empiece por esa letra | Nbull | SQL | 8 | 16-12-2004 17:58:01 |
Tipo de letra en Delphi | AgustinL | API de Windows | 2 | 17-03-2004 20:02:56 |
|