Page 1 of 1

Abrir un archivo CSV forzando en UTF-8

Posted: Sun Dec 25, 2016 2:14 pm
by goosfancito
Buen dia.

Me pasaron archivos en csv, que tengo que abrirlos en formato UTF-8 sino aparecen todos _ raros como:
Colisión entre vehículos
intente leer cada parte del archivo CSV y convertirlos con HB_StrToUTF8
pero la salida no es la que esperaba:
Colisión entre vehículos
En que le estoy pifiando?

gracias.

Re: Abrir un archivo CSV forzando en UTF-8

Posted: Sun Dec 25, 2016 6:30 pm
by cnavarro
Prueba esto

Code: Select all

   cStr   := Memoread( "file.txt" )
   ? 'Directamente             : ', cStr
   ? 'UTF8toSTR            : ',hb_utf8tostr( cStr )
   ? 'OEMtoANSI + UTF8toSTR: ',hb_oemtoansi( hb_utf8tostr( cStr ) )
   ? 'ANSItoOEM + UTF8toSTR: ',hb_ansitooem( hb_utf8tostr( cStr ) )
   ? 'UTF8toSTR + OEMtoANSI: ',hb_utf8tostr( hb_oemtoansi( cStr ) )
   ? 'UTF8toSTR + ANSItoOEM: ',hb_utf8tostr( hb_ansitooem( cStr ) )
   ? 'OEMtoANSI            : ',hb_oemtoansi( cStr )
   ? 'ANSItoOEM            : ',hb_ansitooem( cStr )

 
o tambien puedes probar

Code: Select all

REQUEST HB_CODEPAGE_ESWIN

? := hb_Translate( cStrUtf8 , "UTF8", "ESWIN" )
 

Re: Abrir un archivo CSV forzando en UTF-8

Posted: Sun Dec 25, 2016 7:41 pm
by goosfancito
Muchísimas gracias!
Funcionó este:

Code: Select all

hb_oemtoansi( hb_utf8tostr( cStr ) )
GraciaS!

Re: Abrir un archivo CSV forzando en UTF-8

Posted: Wed Aug 12, 2020 7:37 pm
by ORibeiro
Estou com o mesmo problema quando os dados vem de uma API.

Nenhum desses tirou os acentos do nome: José João A. Gonçalves

cStr := "José João A. Gonçalves"
? 'Directamente : ', cStr
? 'UTF8toSTR : ',hb_utf8tostr( cStr )
? 'OEMtoANSI + UTF8toSTR: ',hb_oemtoansi( hb_utf8tostr( cStr ) )
? 'ANSItoOEM + UTF8toSTR: ',hb_ansitooem( hb_utf8tostr( cStr ) )
? 'UTF8toSTR + OEMtoANSI: ',hb_utf8tostr( hb_oemtoansi( cStr ) )
? 'UTF8toSTR + ANSItoOEM: ',hb_utf8tostr( hb_ansitooem( cStr ) )
? 'OEMtoANSI : ',hb_oemtoansi( cStr )
? 'ANSItoOEM : ',hb_ansitooem( cStr )

Re: Abrir un archivo CSV forzando en UTF-8

Posted: Wed Aug 12, 2020 9:20 pm
by karinha
// ..\Samples\SEMACENT.PRG - by kapiabafwh@gmail.com - 12/08/2020 - Covid-19 Quarentine.

Code: Select all

#include "FiveWin.ch"

FUNCTION Main()

   LOCAL cStr := "José João A. Gonçalves"
   LOCAL cRet

   cRet := TIRA_ACENTUACAO( cStr )

   ? cRet

RETURN NIL
// INCORPORAR CHR(ASC) NOVO/DESCONHECIDO.
FUNCTION TIRA_ACENTUACAO( cStr )

   LOCAL cStrNew := "", nX, cAcentos, cLetras

   cAcentos := {"é","ç","ã","ý","ƒ","Æ","PEÇAS","Ç"," ","µ","…","·","‚","É","ê","ˆ","","Ò","í","Í","ó","¢","à","ä","å","“","â","ú","é","","š","ç","€","ã","Ã","á","Á","à","À","é","É","ê","Ê","í","Í","ó","Ó","õ","Õ","ô","Ô","ú","Ú","ü","Ü","ç","ù","AAO","§","¦","º","ª","€","‡","Ç","ç","'","`","ø","¡","Þ","×","Ø", chr(239)}
   cLetras  := {"e","c","a","2","A","A","PECAS","A","A","A","A","A","E","E","E","E","E","E","I","I","O","O","O","O","O","O","O","U","U","U","U","C","C","A","A","A","A","A","A","E","E","E","E","I","I","O","O","O","O","O","O","U","U","U","U","C"," ","CAO",".",".",".",".","C","C","C","C","" ,"" ,".","I","I","I","I",    ""   }

   For nX := 1 TO LEN(cAcentos)

      cStrNew := StrTran(cStr, cAcentos[nX], cLetras[nX])

      cStr := cStrNew

   Next

RETURN( cStrNew )
 
Regards, saludos.

Re: Abrir un archivo CSV forzando en UTF-8

Posted: Sun Aug 16, 2020 5:36 pm
by ORibeiro
Olá João,

Obrigado por responder, no entanto, infelizmente a sua função não funcionou para trocar os acentos UTF8.

A função HB_UTF8TOSTR() também não funciona.

Não sei mais o que fazer para converter UTF8 em ASC para depois tirar os acentos.

Re: Abrir un archivo CSV forzando en UTF-8

Posted: Mon Aug 17, 2020 11:54 am
by karinha
Aqui, funcionou bem.

Tente / Intente:

Code: Select all

   HB_SETCODEPAGE( "UTF8" )

   mxBairro := HB_OemToAnsi( HB_UTF8ToStr( mxBairro ))
   mxEndere := AllTrim( HB_OemToAnsi( HB_UTF8ToStr( mxEndere )) )
   mCidade  := HB_OemToAnsi( HB_UTF8ToStr( mCidade ))
 
Regards, saludos.

Re: Abrir un archivo CSV forzando en UTF-8

Posted: Tue Aug 18, 2020 2:32 pm
by karinha

Re: Abrir un archivo CSV forzando en UTF-8

Posted: Wed Aug 19, 2020 12:14 pm
by ORibeiro
Na _! Resolveu. Obricado.