Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-02-2007
marcoev marcoev is offline
Miembro
 
Registrado: may 2003
Ubicación: Nogales, Sonora, Mex.
Posts: 57
Poder: 22
marcoev Va por buen camino
Question Como puedo guardar y mostrar las ñ?

Buenas tardes compañeros,
estoy aqui con un problema el cual no he podido resolver, resulta que no he podido guardar ni mostrar desde delphi algun dato que contenga la ñ, acentos o cualquier caracter latino, nose que estoy haciendo mal.

Ya he cambiado de charset y de collate, pero los que he probado no me han funcionado, y se supone que con un charset tipo latin1 y un collate latin1_spanish_ci deberia de funcionar, segun tengo entendido.

ya intente poniendo tambien el charset del font en delphi a OEM_CHARSET y lo unico que logro es mostrar PEÑA en lugar de PEÑA.

alguna sugerencia seria bienvenida, muchas gracias por su apoyo.
__________________
saludos a todos y gracias por compartir sus conocimientos y experiencias... ;-)
Responder Con Cita
  #2  
Antiguo 20-02-2007
marcoev marcoev is offline
Miembro
 
Registrado: may 2003
Ubicación: Nogales, Sonora, Mex.
Posts: 57
Poder: 22
marcoev Va por buen camino
de plano nadie tiene una sugerencia,... por minima que sea, porfavor... lo que sea
__________________
saludos a todos y gracias por compartir sus conocimientos y experiencias... ;-)
Responder Con Cita
  #3  
Antiguo 20-02-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Qué componentes estás usando? Una cosa es el juego de caracteres que tengan asignado tu base de datos y/o tablas, y otra el juego de caracteres que use el cliente para mandar las consultas. En MyDac, por ejemplo, la componente TMyConnection tiene en su propiedad Options la opción Charset en donde puedes seleccionar el juego de caracteres que usará la conexión. Quizá, por alguna razón, la opción por defecto no sea compatible con la que tienes en el servidor. Prueba ejecutando la consulta

Código SQL [-]
show variables

enlazada a un DBGrid, desde tu conexión en Delphi, para que veas cuáles son los juegos de caracteres que está usando tu conexión.

// Saludos
Responder Con Cita
  #4  
Antiguo 20-02-2007
marcoev marcoev is offline
Miembro
 
Registrado: may 2003
Ubicación: Nogales, Sonora, Mex.
Posts: 57
Poder: 22
marcoev Va por buen camino
muchas gracias por responder roman, tuve la intencion de enviarte un privado pues parece que conoces bien de delphi y mysql, pero no lo hice ...

respecto a los componentes utilizo Zeos version 6.6.0 - beta, los utilizo porque fueron los primeros que encontre :S, el problema que he tenido es que no he visto ninguna documentacion que pueda valer la pena leer, y el ningun componente he podido ver alguna propiedad para que me diga que charset estoy utilizando, por lo que veo tu utilizas los MyDAC, no habia escuchado de ellos, pero si tu los utilizas, creo que voy a probarlos, por lo menos ahi si va esa propiedad no?

en mis tablas y campos utilizo el charset latin1 y el collate en latin1_espanol_ci , los cuales me supongo deberian de ser suficientes para poder almacenar este tipo de caracteres...

por cierto utilizo dos administradores de bd el Mysql Administrator y el SQLYog, en el administrator si puedo guardar directamente y ver las Ñ, pero esos mismo datos, los veo mal en el sqlyog, al igual que en delphi.

tu me sugeririas utilizar los mydac?

gracias
__________________
saludos a todos y gracias por compartir sus conocimientos y experiencias... ;-)
Responder Con Cita
  #5  
Antiguo 20-02-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Mi sugerencia, antes de que cambies de componentes (porque con ZEOS debería funcionarte) es que hagas lo que te comenté:

Con Delphi y Zeos haces un pequeño programa que haga la consulta

Código SQL [-]
show variables

y que te muestre los resultados en un dbgrid. La consulta te devuelve un dataset con dos columnas:

variable, valor

ahí verás varias variables que comienzan con character_set. Ve qué valores tienen, sobre todo los de character_set_connection y character_set_results.

Hazlo y nos comentas.

// Saludos
Responder Con Cita
  #6  
Antiguo 20-02-2007
marcoev marcoev is offline
Miembro
 
Registrado: may 2003
Ubicación: Nogales, Sonora, Mex.
Posts: 57
Poder: 22
marcoev Va por buen camino
ya hice lo que me dijiste sobre el show variables, y todas las varibles de charset tienen como valor utf8 y el collation dice utf8_general_ci

como y donde puedo cambiar esos valores? para que sean latin1
__________________
saludos a todos y gracias por compartir sus conocimientos y experiencias... ;-)
Responder Con Cita
  #7  
Antiguo 20-02-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por marcoev
todas las varibles de charset tienen como valor utf8 y el collation dice utf8_general_ci
Es raro, porque los valores por defecto de character_set_server, character_set_database, collation_server y collation_database los toma del servidor. Si, como dices, tienes puestos esos valores a latin1 y latin1_spanish_ci, no debería aparecer utf8.

Pero bueno, puedes modificar varios de esos valores con la instrucción SET. En una componente Query pones:

Código SQL [-]
set
  session character_set_server = 'latin1',
  session character_set_results = 'latin1',
  session character_set_connection = 'latin1',
  session character_set_client = 'latin1',

  session collation_server = 'latin1_spanish_ci',
  session collation_connection = 'latin1_spanish_ci'

y la abres con ExecSQL. Los cambios no son permanentes, sino sólo para la sesión.

// Saludos
Responder Con Cita
  #8  
Antiguo 20-02-2007
marcoev marcoev is offline
Miembro
 
Registrado: may 2003
Ubicación: Nogales, Sonora, Mex.
Posts: 57
Poder: 22
marcoev Va por buen camino
muchas gracias roman, es bueno saber como hacer el cambio, pero opte mejor por utilizar los componentes de MyDAC, y a la primera me funciono lo de los caracteres latinos al poner en options de la conexion el charset latin1, ademas de que por lo menos estos traen ayudas y documentacion, del cual carece el zeos.

muchas gracias de nuevo.
__________________
saludos a todos y gracias por compartir sus conocimientos y experiencias... ;-)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como puedo mostrar lo que estoy haciendo en una segunda pantalla rmenor Gráficos 9 16-12-2006 14:21:47
Si mi ventana esta oculta como la Puedo mostrar JULIPO API de Windows 4 07-02-2006 00:07:31
Como puedo mostrar información (Urgente) JavierO Tablas planas 1 20-07-2005 20:40:19
Como puedo guardar campos de un DBGrid JCarlos OOP 5 26-01-2005 13:14:31
Como puedo mostrar una lista de bases de datos en un servidor MySQL con Zeos? guillote MySQL 0 27-07-2004 03:32:20


La franja horaria es GMT +2. Ahora son las 05:10:30.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi