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

Post Reply
User avatar
lubin
Posts: 404
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru
Contact:

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

Post 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
Last edited by lubin on Mon Jul 15, 2019 1:01 am, edited 1 time in total.
User avatar
lubin
Posts: 404
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru
Contact:

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

Post 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
cjcardoza
Posts: 19
Joined: Thu Jul 13, 2006 12:20 am
Location: Lima - Peru

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

Post 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
User avatar
lubin
Posts: 404
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru
Contact:

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

Post by lubin »

Gracias JcCardoza

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

Gracias

Lubin
Post Reply