Ver Mensaje Individual
  #1  
Antiguo 13-08-2013
jpgonzalez jpgonzalez is offline
Miembro
 
Registrado: feb 2010
Posts: 121
Reputación: 17
jpgonzalez Va por buen camino
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...

Código Delphi [-]
 
            QryInsertarCliente.close;
            QryInsertarCliente.ParamByName('apellido').AsString:= apellido;
            QryInsertarCliente.ParamByName('nombre').AsString:= nombre;         //Tomado de un TEdit
            QryInsertarCliente.ParamByName('direccion').AsString:= direccion;
            QryInsertarCliente.ExecSQL;

            QryInsertarCliente.close;
            QryInsertarCliente.ParamByName('apellido').AsString:= apellido;
            QryInsertarCliente.ParamByName('nombre').AsString:= nombre;
            QryInsertarCliente.ParamByName('direccion').AsString:= 'Av.España';
            QryInsertarCliente.ExecSQL;

Ahora si en la query harcodeo el campo direccion de la siguiente manera, lo guarda perfecto:
Código SQL [-]
Update clientes
   set direccion = 'Av. España'
where 
   idCliente = 8

Puede ser esto por alguna configuracion del Delphi XE????
Desde ya muchas gracias!!!!
Responder Con Cita