Averiguar codificacion de una cadena

Post Reply
JoseLuis
Posts: 428
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo

Averiguar codificacion de una cadena

Post by JoseLuis »

Buenas
En una DBF tengo un campo (Población) que unos registros estan con codificacion ansi y otros con codificación DOS

los que están en codificacion ansi me muestran la "Ñ" correctamente
los que están en codificacion dos me muestran la "Ñ" así "¥"
Si en la impresión hago un oemtoansi, la que tiene codificacón DOS se muestra correctamente, pero la que tiene codificación ansi se muestra mal.
he intentado con strtran(poblacion,"¥","Ñ"), y no me hace nada
he intentado con ? AT("¥",poblacion), y no me localiza éste símbolo.
Habría alguna forma de saber la codificación de éste campo para hacer el oemtoansi sólo cuando sea necesario?
--------------------------
Saludos

Jose Luis
User avatar
Antonio Linares
Site Admin
Posts: 42511
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 31 times
Been thanked: 73 times
Contact:

Re: Averiguar codificacion de una cadena

Post by Antonio Linares »

Estimado Jose Luis,

Pregúntale a chatGPT. A mi me resolvió ayer el quitar caracteres de escape ansi de un texto :-)

No siempre acierta a la primera, pero te da pistas. Regenera la respuesta varias veces
regards, saludos

Antonio Linares
www.fivetechsoft.com
JoseLuis
Posts: 428
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo

Re: Averiguar codificacion de una cadena

Post by JoseLuis »

Antonio

No había utilizado nunca esta historia.
Me he registrado, he puesto la pregunta y me ha contestado:

Code: Select all | Expand

    #include "CpGfunc.ch"

// Supongamos que tenemos una DBF llamada "datos.dbf" y un campo llamado "Población"
use datos
set codepage to spanish

// Recorremos los registros de la DBF
go top
do while !eof()
  // Obtenemos el valor del campo "Población" del registro actual
  poblacion = datos->Población

  // Adivinamos la codificación del campo "Población"
  cpg = CpgGuess(poblacion)

  // Imprimimos la codificación adivinada
  ? "La codificación de Población en este registro es:", cpg

  // Si la codificación es diferente a la que estamos usando actualmente, hacemos la conversión
  if cpg <> "ANSI" and codepage() <> cpg
    oemtoansi(poblacion)
  endif

  // Imprimimos el valor del campo "Población" ya sea que se haya hecho la conversión o no
  ? poblacion

  // Pasamos al siguiente registro
  skip
enddo
 
Ahora a averiguar donde conseguír ese incluye y esa librería
--------------------------
Saludos

Jose Luis
User avatar
Antonio Linares
Site Admin
Posts: 42511
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 31 times
Been thanked: 73 times
Contact:

Re: Averiguar codificacion de una cadena

Post by Antonio Linares »

Hazle la misma pregunta varias veces. No te fies de lo que dice siempre porque se inventa muchas cosas

Enviado desde mi SM-M325FV mediante Tapatalk
regards, saludos

Antonio Linares
www.fivetechsoft.com
paquitohm
Posts: 287
Joined: Fri Jan 14, 2022 8:37 am
Been thanked: 1 time

Re: Averiguar codificacion de una cadena

Post by paquitohm »

Antonio Linares wrote:Hazle la misma pregunta varias veces. No te fies de lo que dice siempre porque se inventa muchas cosas

Enviado desde mi SM-M325FV mediante Tapatalk

ChatGPT es como una patata recién arrancada: Tienes que retirar toda la tierra para poder ver el tubérculo
User avatar
Antonio Linares
Site Admin
Posts: 42511
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 31 times
Been thanked: 73 times
Contact:

Re: Averiguar codificacion de una cadena

Post by Antonio Linares »

Irá mejorando más y más :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply