como puedo cambiar la pagina de codigos a mi sistema operativo

349 views
Skip to first unread message

Javier Bernal

unread,
Sep 16, 2015, 9:05:29 PM9/16/15
to Comunidad de Visual Foxpro en Español
Tengo windows 7 y la pagina de codigos que me da con el cpcurrent() es 1252, la quiero cambiara 850, ya lo hice por cpconvert(1252.850,miarchivo) y no lo hace, si despliegas el valor de cpcurrent(1) es el valor de windows y con  cpcurrent(2) es el valor de DOS, ahora si que no se que hacer, alguien que me pueda ayudar se lo agradecere

Víctor Hugo Espínola Domínguez

unread,
Sep 16, 2015, 9:24:31 PM9/16/15
to publice...@googlegroups.com
Hola Javier

La función CPCONVERT trabaja sobre expresiones tipo string (carácter), yo la uso para imprimir en matriciales cuando la expresión puede contener caracteres con código ASCII mayor que 127:

? Cpconvert(1252, 850, m.lcLinDet1Ticket)           At 0

? Cpconvert(1252, 850, "Discriminación de IVA")  At 0

Si quieres cambiar la página de código de un archivo debes recurrir a FILETOSTR y luego de la conversión STRTOFILE.

Puedes explicarnos para qué quieres cambiar la página de códigos a nivel de S.O.?


Saludos,
Víctor.
Lambaré - Paraguay.

Javier Bernal

unread,
Sep 17, 2015, 12:37:02 PM9/17/15
to Comunidad de Visual Foxpro en Español
Por la letra Ñ ñ y las vocales acentuadas, ya genero un archivo y genero un sello sha-1 y cuando la convierto filetostr me cambia la Ñ por caracteres especiales, haz la prueba en tu equipo yo tengo como pagina de codigos 1252

Víctor Hugo Espínola Domínguez

unread,
Sep 17, 2015, 2:20:42 PM9/17/15
to publice...@googlegroups.com
Hola Javier

Podrías enviarnos el archivo?


Saludos,
Víctor.
Lambaré - Paraguay.


Javier Bernal

unread,
Sep 17, 2015, 2:49:39 PM9/17/15
to Comunidad de Visual Foxpro en Español

este es el archivo haz la conversion a string y me comentas que sucede
NAFB850117M13-00047.xml

Víctor Hugo Espínola Domínguez

unread,
Sep 17, 2015, 4:51:31 PM9/17/15
to publice...@googlegroups.com
Hola Javier

No es problema de página de código, el archivo está en formato Utf-8.

Local lcDB, lcUtf_8, lcW1252

lcUtf_8 = Filetostr("NAFB850117M13-00047.xml")
lcDB    = Strconv(m.lcUtf_8, 11)
lcW1252 = Strconv(m.lcDB, 2)

? m.lcW1252

Strtofile(m.lcW1252, "Xml1252.xml")

Saludos,
Víctor.
Lambaré - Paraguay.


Javier Bernal

unread,
Sep 17, 2015, 9:27:51 PM9/17/15
to Comunidad de Visual Foxpro en Español
Gracias Hugo por tus comentarios y aportacion, pero sigo con el problema ya tengo la string en single-byte, ahora haz esta prueba la variable donde se encuentra la string usa strconv( m.lcW1252,9) y la despliegas y vuelve aparacer el caracter especial de la Ñ, necesito la variable en utf-8 porque la utilizo en un web service y es el formato que me solicitan

Víctor Hugo Espínola Domínguez

unread,
Sep 17, 2015, 10:03:38 PM9/17/15
to publice...@googlegroups.com
Hola Javier

No puedes usar la expresión strconv( m.lcW1252,9), la debes descomponer en dos pasos:

lcDobleByte = STRCONV(m.lcW1252, 1)
lcUtf8      = STRCONV(lcDobleByte, 9)


Saludos,
Víctor.
Lambaré - Paraguay.


Javier Bernal

unread,
Sep 17, 2015, 10:32:06 PM9/17/15
to Comunidad de Visual Foxpro en Español
Ya lo hice de convertirlo de single a doble y luego a utf y sigue igual
Reply all
Reply to author
Forward
0 new messages