LATIN1, UTF8... cual?

LATIN1, UTF8... cual?

Postby MarioG » Sun Nov 15, 2020 8:17 pm

Hola Gente
Viejisima ignorancia de mi parte y, espero me la puedan despejar (los de habla hispana)
Actualmente me conecto con MariaDB y compilo las aplicaciones con Harbour 32

En mi INIT PROCEDURE declaro:
Code: Select all  Expand view  RUN
   HB_LangSelect(  "ESWIN" )
   HB_SetCodePage( "ESWIN" )

Como comentario adicional, tengo una App compilada con TDolphin en la que tengo definida
Code: Select all  Expand view  RUN
Set_MyLang( "es_ES")
Es una función de TDolphin?; ya que compilando con FWMaria Connection me envia error de que la función no existe (es la solución a mi consulta?)

Actualmente uso FWMaria Connection y las tablas las creo, por ej:
Code: Select all  Expand view  RUN
  aEstructura[_CODPOSNAC  ]:=  "CREATE TABLE IF NOT EXISTS codpostales ("  + ;
                                "idCodPos      MEDIUMINT(7) UNSIGNED ZEROFILL AUTO_INCREMENT PRIMARY KEY," + ;
                                 ...
                                "ENGINE=     INNODB,"                          + ;
                                "DEFAULT CHARSET=latin1,"                        + ;
                                "COLLATE=latin1_spanish_ci;"
 

(En particular esta tabla, codpostales, la importé de un archivo DBF)
No obstante esta tabla cuando es leída con un :Rowset(), y la muestro en un xbrowse, algunas definiciones, se ven con carácter extraño. Luego si capturo tal fila y la muestro en un SAY; se ve correctamente, tal como se observa en la siguiente imágen (letra Ñ).
Image

Otra situación ocurre cuando en una tabla, creada segun se indica mas arriba, le agrego datos que luego se muestran en un xBrowse. Señalo una fila y con la pulsación de botón derecho, indico el acceso a un Menú Popup, donde el muestro el dato en coincidencia con la fila señalada (ocurre lo contrario de lo que se indica en la imagen anterior), caracter &, segun se observa en la imagen
Image
En este segundo caso, he probado la función OemToAnsi(); sin éxito

Cual es la forma correcta de implementar la escritura/lectura de caracteres "especiales"
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: LATIN1, UTF8... cual?

Postby cmsoft » Mon Nov 16, 2020 1:05 pm

Hola Mario:
He tenido problemas similares al importar desde DBFS a MySql.
En algunos casos he solucionado el tema definiendo la tabla con:
CHARSET: UTF8
Collation: utf8_spanish2_ci
Uso TDolphin y uso los mismos seteos que vos pusiste.
En algunos casos recuerdo haber tenido que corregir manualmente.
También por este tema tenía problemas en las búsquedas incrementales con XBrowse (Verifícalo)
No te soy de mucha ayuda, pero te comparto la experiencia...
User avatar
cmsoft
 
Posts: 1293
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: LATIN1, UTF8... cual?

Postby MarioG » Tue Nov 17, 2020 12:59 pm

Muchas gracias Cesar
Por lo menso veo que el camino tomado no es incorrecto
Ampliando a tu comentario
En el caso de importar de DBF a SQL, los códigos postales, que en principio tambien lo hice asignando UTF8.
Ahora, lo cambié a Latin1 y como muestro en la primer imagen; no se vé bien en el xBrowse, pero s en un SAY.

El otro caso, son tablas creadas, que inicialmente tambien use UTF8 y ahora la cambié por LATIN1. En este caso en el xbrowse se ve correctamente; pero no así en por ej, el texto de un Menú. Y esto ocurre tanto si uso UTF8 como LATIN1.

Parece que es un poco complejo el tema no?
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: LATIN1, UTF8... cual?

Postby puenteda » Tue Nov 17, 2020 2:04 pm

Mario:

Si los datos provienen x ej de un sistema en dos, tambien podes recorrer la tabla una unica vez y convertir los datos con REPLACE TABLA->CAMPO WITH OEMTOANSI(TABLA->CAMPO)

Saludos,
Daniel Puente
Santa Cruz, Argentina
puenteda
 
Posts: 24
Joined: Thu Oct 02, 2014 3:51 am

Re: LATIN1, UTF8... cual?

Postby MarioG » Wed Nov 18, 2020 12:06 am

Daniel, gracias por responder

La Tabla importada de una DBF, es con índices CDX generadas con ADS
Pero; tambien tengo el caso (el 2º) donde las creo vacias y voy agregando datos
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 95 guests