Averiguar codificacion de una cadena
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Sun Apr 02, 2023 10:17 am
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?
Re: Averiguar codificacion de una cadena
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Sun Apr 02, 2023 11:19 am
by Antonio Linares
Estimado Jose Luis,
Pregúntale a chatGPT. A mi me resolvió ayer el quitar caracteres de escape ansi de un texto
![Smile :-)](./images/smilies/icon_smile.gif)
No siempre acierta a la primera, pero te da pistas. Regenera la respuesta varias veces
Re: Averiguar codificacion de una cadena
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Sun Apr 02, 2023 12:25 pm
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 view
#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
Re: Averiguar codificacion de una cadena
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Sun Apr 02, 2023 1:01 pm
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
Re: Averiguar codificacion de una cadena
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Sun Apr 02, 2023 7:48 pm
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