![]() |
Problemas con Acentos
Hola compañeros del foro, tengoun problema con los acentos con delphi+mysql, sucede que en la base datos los acentos estan bien pero al mostrarlos en delphi se cambia por unos caracteres extraños por ejemplo.
García -> GarcÃ*-a :confused::confused::confused: Saludos |
Hola
Que estas haciendo, no me parece logico lo que pasa. Donde presentas la informacio? Saludos |
las estoy presentando en DBEdits sacados de los campos persistentes, trabajo con ZeosLib.
|
Hola
Pues nunca me ha pasado, lo he hecho con mysql y con access Que raro, talvez estes llamano a los datos de alguna manera que no reconoce esto, no se si tendra que ver windows en el panel, la verdad, no lo se, es nuevo para mi. Espero lo soluciones. Saludos |
has probado cambiar el juego de caracteres en la base de datos?, no lo he hecho con mysql pero por ahi tengo idea de haber oido que UTF8 servira
|
ese es el problema eduarcol, poniendo en cualquier collation o cotejamiento incluso utf8_general_ci, igual me sale los caracteres extraños, si lo veo en la misma base de datos los acentos estan bien, pero al mostrarlos en delphi se cambian los acentos.:confused::confused::confused:, incluso tengo una aplicacion en php con los mismos datos y presenta los acento bien solo en delphi ocurre eso.
Saludos. |
:confused: no entiendo en mi pc los acentos se ven bien, pero en la pc donde realmente se utilizara la aplicacion los acentos se dañan, incluso desintale el appserv y lo instale de nuevo y aun asi sigue igual, es posible que sea windows??..
Saludos. |
Rta.
Segui por el lado de los juegos de caracteres. Lo mas probable es el tema del ansi/unicode que en Delphi no los represente como debería ser.
Salu2 |
gente no he podido resolver ese asunto de los acentos, he cambiado todos los cotejamientos a latin1_spanish_ci, utf8_general_ci etc, etc y sigue igual, al instalar mysql con appserv aparece una opcion donde ecojes el charset y no hay uno para el español y por defecto usa MySQL charset: UTF-8 Unicode (utf8). el windows xp de mi pc es en ingles y las pc donde se utiliza la plicacion es en español, existe la posibilidad que sea alguna esas dos opciones?
|
Posible Solución
Mirá, una vez me pasó algo así con una aplicación de DOS, entonces cargaba dos Array, en uno las ocurrencias(acentos y caracteres de DOS) y en el otro los reemplazos, de manera de que cuando aparezca un caracter raro automaticamente lo reemplazaba por el que debia, pero tendrás que ver despues desde PHP como te queda. Probá con un solo registro.
la rutina es algo así, está echa en VB pero en Delphi es mas sencillo el tema de Arrays Public Function Ansi2Unicode(sString As String) Dim vArray1, vArray2 Dim nI As Integer vArray1 = Array(" ", "‚", "¡", "¢", "£", "¤", "¥", "§", "¨", "*", "?", "š") vArray2 = Array("á", "é", "í", "ó", "ú", "ñ", "Ñ", "º", "¿", "¡", "ü", "Ü") For nI = 0 To UBound(vArray1) If InStr(1, sString, vArray1(nI)) <> 0 Then // lo busca en Dephi Pos() sString = Replace(sString, vArray1(nI), vArray2(nI)) // En Delphi AnsiReplaceString End If Next Ansi2Unicode = sString End Function Código:
Delphi: |
Gracias waly2k1 , he descubierto que el problema proviene del mismo windows, he optado por eliminar los acentos y eñes por consultas, y ahora esta trabajando mejor.
De todas maneras muchas gracias a todos que intentaron ayudarme en este asunto, de corazon les agradezco su tiempo y esfuerzo. Saludos. |
La franja horaria es GMT +2. Ahora son las 09:36:01. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi