Page 1 of 1

Perdido creando Archivo Texto con UTF-8 no BOM *SOLUCIONADO*

Posted: Sat Jul 13, 2019 6:52 pm
by lubin
Buenas tardes

Vuelvo a soltar el Hilo de la pregunta: COMO CREAR UN ARCHIVO TEXTO EN FORMATO UTF-8, por que realmente estoy TOTALMENTE PERDIDO en el proceso :

Yo siempre cree los archivos textos sin inconvenientes, pero esto del formato UTF es otra cosa. Hasta el momento con el aporte de Karinha y Carlos he desarrollado estas alternativas, pero aun me rechaza la WebService que debe de recibir el Archivo.

ALTERNATIVA 1 : Usando la función HB_StrToUTF8(<cStr>[,<cCPID>])---><cUTF8Str> (aquí desconosco para que sirve el Parametro cCPID, quizá ahí este la solución)

Code: Select all

** proceso usado 
** El Array llamado  V_DOCUM contiene varias líneas de textos con Ñ, y vocales con acentos  que formaran parte del archivo
 
FERASE(cFileTempo)
*Creamos el Archivo texto desde el ARRAY 
oText := TTxtFile():New( cFileTempo)
FOR I = 1 TO LEN(V_DOCUM)   
  oText:Add(V_DOCUM[I] )
NEXT I 
oText:Close()
*Leemos el Archivo texto creado
MIDATO := MemoRead(cFileTempo)
*Convierto el texto del Archivo creado  HB_StrToUTF8(<cStr>[,<cCPID>])---><cUTF8Str>
xtexto  := hb_strToUTF8( MIDATO  )
*Grabo el archivo 
Hb_MemoWrit( cfileDestino, xtexto )
 
2. ALTERNATIVA : Usando la Funcicion HB_TRANSLATE()

Code: Select all

** proceso usado 
** El Array llamado  V_DOCUM contiene varias líneas de textos con Ñ, y vocales con acentos  que formaran parte del archivo
FERASE(cFileTempo)
*Creamos el Archivo texto desde el ARRAY 
oText := TTxtFile():New( cFileTempo)
FOR I = 1 TO LEN(V_DOCUM)   
  oText:Add(V_DOCUM[I] )
NEXT I 
oText:Close()
*Leemos el Archivo texto creado
MIDATO := MemoRead(cFileTempo)

*Convierto el texto del Archivo creado
xtexto =  hb_translate( MIDATO ,"PLWIN", "UTF8")
*Grabo el archivo 
Hb_MemoWrit( cfileDestino, xtexto )
 
En _ inclusive retornan archivos textos diferentes, definitavmente a algo o mucho que estoy haciendo mal

Les agradeceré sus comentarios

Lubin

Re: Perdido creando un Archivo Texto con UTF-8 no BOM

Posted: Mon Jul 15, 2019 1:00 am
by lubin
Estimados

Logre resolver el problema de conversión con un programa Externo llamado convertcp.exe, que pemite convertir con comandos de línea en archivos UTF8 u otra paginación directamente, Una solución rápida por que con Harbour fueron muchas vueltas pero nada.

El link del programa es https://sourceforge.net/projects/convertcp/files/

El programa es free e inclusive tiene se ofrece las Fuentes en C, quizás Antonio podría incluirlo en FWWIN

Gracias a los que apoyaron

Lubin

Re: Perdido creando Archivo Texto con UTF-8 no BOM *SOLUCIONADO*

Posted: Sun Aug 18, 2019 6:29 pm
by cjcardoza
TXTdesc ='<?xml version="1.0" encoding="utf-8" ?>'+chr(13)+chr(10)
TXTdesc +='<rsm:CustomsDeclarationPeru xsi:schemaLocation="urn:peru:sunat:insi:data:standard:CustomsDeclarationPeru:1 CustomsDeclarationPeru_1p0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan ... 3)+chr(10)
TXTdesc +=' xmlns:userram="urn:peru:sunat:insi:data:standard:ReusableAggregateBusinessInformationEntity:1" xmlns:rsm="urn:peru:sunat:insi:data:standard:CustomsDeclarationPeru:1"'+chr(13)+chr(10)
TXTdesc +=' xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:6">'+chr(13)+chr(10)
TXTdesc +="<ram:TradeName>CIGUEÑAL</ram:TradeName>"

REQUEST HB_CODEPAGE_ESWIN
cStr:=HB_StrToUTF8( TXTdesc,"ESWIN" )
HB_MEMOWRIT("D:\SISMYSQL\SOFTQUIMIA\Bin\FIN.XML",cStr)
MSGINFO("GRABADO","OK")
Return

Re: Perdido creando Archivo Texto con UTF-8 no BOM *SOLUCIONADO*

Posted: Tue Aug 27, 2019 4:41 am
by lubin
Gracias JcCardoza

voy a realizar las pruebas,, ojala mi versión de Harbour me aguante..

Gracias

Lubin