Como Crear un Archivo de Texto y que los Caracteres sean Guardados en UTF-8 ..???

1,416 views
Skip to first unread message

GOOD_FOX

unread,
May 26, 2012, 8:51:30 PM5/26/12
to Mundo Visual FoxPro
Compañeros que tal, Necesito Generar un Archivo de Texto en el cual
los caracteres sean escritos en Codigo UTF-8, ya que esto es para
enviarlo a un conector y me realice la Factura Digital.

Actualmente ya genero el archivo de Texto con las Funciones de Bajo
Nivel FCreate(), FWrite() Etc...

pero me he dado cuenta que cuando envío Texto con Acentos al
regresarme la Factura en PDF esos acentos se convierten en un caracter
Extraño. (cuadrito)

entonces , la pregunta es... si se puede generar Texto en codificacion
UTF-8 desde Vfp..??

Saludos.

Danar

unread,
May 27, 2012, 7:29:06 PM5/27/12
to Mundo Visual FoxPro
Fijate en la funcion strconv()

GOOD_FOX

unread,
Jun 2, 2012, 7:45:01 PM6/2/12
to Mundo Visual FoxPro

Que tal, me falto comentarles que la version de Vfp que utilizo es la
6.0 y en esa version el parametro de la funcion Strconv(lcExp,9) no
existe,

existe otra forma de poder hacerlo.??


Saludos.

TurbiSoft

unread,
Jun 4, 2012, 8:44:47 AM6/4/12
to mundovis...@googlegroups.com
Creo que tendras que hacer una funcion personalizada, algo mas o menos como esto:
 
**********************
Procedure limpiar_xml
**********************
Lparameters lcMy_XML As String
lcMy_XML = Strtran(lcMy_XML,"ñ","n")
lcMy_XML = Strtran(lcMy_XML,"Ñ","N")
lcMy_XML = Strtran(lcMy_XML,"á","a")
lcMy_XML = Strtran(lcMy_XML,"é","e")
lcMy_XML = Strtran(lcMy_XML,"í","i")
lcMy_XML = Strtran(lcMy_XML,"ó","o")
lcMy_XML = Strtran(lcMy_XML,"ú","u")
lcMy_XML = Strtran(lcMy_XML,"ö","o")
lcMy_XML = Chrtran(lcMy_XML,[ÁÉÍÓÚÑ&*°|],[AEIOUN])
lcMy_XML = Strconv(lcMy_XML,9) && Convierte los caracteres de dos bytes de cExpression a UTF-8
* Quita blancos entre palabras (Colapsa espacios en blanco)
CharAnterior = ""
NewDato      = ""
For Iq = 1 To Len(lcMy_XML)
 CharActual = Substr(lcMy_XML,Iq,1)
 If Not( CharAnterior = " " And  CharActual = " ")
  NewDato = NewDato + CharActual
 Endif
 CharAnterior = CharActual
Endfor
lcMy_XML= NewDato
Return lcMy_XML && NewDato

*lcMy_XML = Strtran(lcMy_XML,"false","0")
*lcMy_XML = Strtran(lcMy_XML,"'"," ")
*lcMy_XML = Strtran(lcMy_XML,"true","1")
*lcMy_XML = Strtran(lcMy_XML,"  /  /       :  :   AM","''")
Return lcMy_XML
Endproc
Reply all
Reply to author
Forward
0 new messages