LATIN1, UTF8... cual?

Post Reply
User avatar
MarioG
Posts: 1356
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

LATIN1, UTF8... cual?

Post by MarioG »

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

   HB_LangSelect(  "ESWIN" )
   HB_SetCodePage( "ESWIN" )
Como comentario adicional, tengo una App compilada con TDolphin en la que tengo definida

Code: Select all

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

   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
cmsoft
Posts: 653
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: LATIN1, UTF8... cual?

Post by cmsoft »

Hola Mario:
He tenido problemas similares al importar desde DBFS a MySql.
En _ 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 _ 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
MarioG
Posts: 1356
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: LATIN1, UTF8... cual?

Post by MarioG »

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
puenteda
Posts: 19
Joined: Thu Oct 02, 2014 3:51 am

Re: LATIN1, UTF8... cual?

Post by puenteda »

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
User avatar
MarioG
Posts: 1356
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: LATIN1, UTF8... cual?

Post by MarioG »

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
José
Posts: 19
Joined: Sat Dec 10, 2016 8:58 pm

Re: LATIN1, UTF8... cual?

Post by José »

Buenos días a todos

De antemano muchas gracias.

¿Lograron resolver esto? porque tengo el mismo problema intentando migrar un sistema a HB 3.2 - FWH 20.07 - MariaDB 10.3 – 32 bit

intento usar Set_MyLang pero me dice que no la encuentra... y pienso que por eso el problema de las tildes, eñes y otros..

Saludos cordiales desde Chile.
José Concha Leiva - Chile
"Querer, saber y hacer, es poder"
HB 3.2 + FWH 20.07 + Borland C++ 7.0 + Pelles C 9.0 + MariaDB 10.3 > 32 bit
User avatar
MarioG
Posts: 1356
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: LATIN1, UTF8... cual?

Post by MarioG »

Hola
Disculpas, se me paso contestar,,,
Al dia de hoy no le encuentro la vuelta
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
Post Reply