TRichedi

Post Reply
FiveWiDi
Posts: 1267
Joined: Mon Oct 10, 2005 2:38 pm
Has thanked: 4 times
Been thanked: 10 times

TRichedi

Post by FiveWiDi »

Hola a todos,

Si tengo un mensaje que en un MsgInfo() se ve bien (con sus acentos y sin caracteres 'raros'), como puedo insertar en un control TRichedi y que se vean bien los caracteres acentuados?

Estoy aplicando esto:
oRTF1:InsertRTF( ElTextoAInsertar )

No veo otro método con que hacerlo.

En MsgInfo() este texto se ve bien, pero al hacer un oRTF1:InsertRTF( ElTextoAInsertar ) se ve así:

"Saps coses del futbol?
--------------------------------------------------------------------------------
Sí, sé moltes coses sobre futbol! Puc parlar de:

* **Regles del joc:** Fora de joc, faltes, penals, targetes, etc.
* **Tàctiques i estratègies:** Diferents formacions (4-4-2, 4-3-3, 3-5-2, etc.), estils de joc (possessió, contraatac, etc.)"


Muchas gracias
Un Saludo
Carlos G.

FiveWin 25.01 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 10
User avatar
Antonio Linares
Site Admin
Posts: 42716
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 93 times
Been thanked: 103 times
Contact:

Re: TRichedi

Post by Antonio Linares »

Prueba a usar:

FW_SetUnicode( lOnOff )

al inicio de tu aplicación
regards, saludos

Antonio Linares
www.fivetechsoft.com
FiveWiDi
Posts: 1267
Joined: Mon Oct 10, 2005 2:38 pm
Has thanked: 4 times
Been thanked: 10 times

Re: TRichedi

Post by FiveWiDi »

Antonio Linares wrote: Sat Mar 15, 2025 3:24 am Prueba a usar:

FW_SetUnicode( lOnOff )

al inicio de tu aplicación
Gracias Antonio, pero no hay manera.

He aplicado FW_SetUnicode( lOnOff ) al principio de la aplicación, he cambiado el control por un EDIT y tampoco muestra bien los caracteres, usando oRTF1:InsertRTF() o oEDIT1:cText().

Se trata de una respuesta de Gemini, con MsgInfo() muestra bien el texto, pero si quiero que ese texto se vea en un control (RICHEDIT, RICHEDIT5, EDIT) no los muestra bien, se ven caracteres 'raros', si la respuesta de Gemini la grabo directamente en un fichero plano también se ven esos caracteres raros. Son principalmente los acenturados.

* **Tà ctiques i estratègies:** Diferents formacions (4-4-2, 4-3-3, 3-5-2, etc.), estils de joc (possessió, contraatac, etc.)"

Lo que pretendo es ver la respuesta de Gemini y además guardarla. Habrán caracteres 'diferentes' como la cara sonriente pero eso ya lo asumo, pero que se vean 'feos' los acentuados... pues no queda bien. Por que además el 'tio' escribe como Dios manda y no se salta ningún acento.

A desayunar, a ver que se me ocurre.
Un Saludo
Carlos G.

FiveWin 25.01 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 10
User avatar
Antonio Linares
Site Admin
Posts: 42716
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 93 times
Been thanked: 103 times
Contact:

Re: TRichedi

Post by Antonio Linares »

Carlos,

Al decirme que estás usando Gémini me has dado la pista :-)

Revisa FWH\samples\webia.prg y como se usa hb_Utf8ToStr( oGemini:getValue() )
regards, saludos

Antonio Linares
www.fivetechsoft.com
FiveWiDi
Posts: 1267
Joined: Mon Oct 10, 2005 2:38 pm
Has thanked: 4 times
Been thanked: 10 times

Re: TRichedi

Post by FiveWiDi »

Antonio Linares wrote: Sat Mar 15, 2025 9:18 am Carlos,

Al decirme que estás usando Gémini me has dado la pista :-)

Revisa FWH\samples\webia.prg y como se usa hb_Utf8ToStr( oGemini:getValue() )
Oleeeeeeeeeeeeeee!!!!!!!!

Ya se ven bien los caracteres acentuados, y lo meto en un RTF.
Ya puedo crear la ayuda del programa. :D

Si que es verdad que las caras sonrientes y supongo que otros 'dibujitos' se convertirán a lo que se pueda, pero el texto parece perfecto.

Muchas gracias,
Un Saludo
Carlos G.

FiveWin 25.01 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 10
User avatar
cnavarro
Posts: 6604
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Has thanked: 6 times
Been thanked: 8 times

Re: TRichedi

Post by cnavarro »

También puedes añadir al principio de tu aplicacion

Code: Select all | Expand

   HB_SETCODEPAGE( "UTF8" )
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
karinha
Posts: 7988
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 6 times
Contact:

Re: TRichedi

Post by karinha »

Code: Select all | Expand

    HB_SETCODEPAGE( "UTF8" )

    FW_SetUnicode( .T. )
Buenas tardes Maestro Navarro, estos comandos hacen lo mismo, o son diferentes, o se deben utilizar ambos?

Gracias, tks.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
cnavarro
Posts: 6604
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Has thanked: 6 times
Been thanked: 8 times

Re: TRichedi

Post by cnavarro »

UTF 8 es un sistema de codificación, pero el estándar que codifica e identifica todos los caracteres de todos los idiomas que existen en el mundo se llama Unicode.
Es decir, puedes activar unicode, pero la codificación puede ser "Chino", por ejemplo, pero si vas a trabajar con una app o interface que usa UTF8 ( en web es lo habitual ), puedes activarlo para no tener que estar codificando/decodificando continuamente

Pero si quieres profundizar en el tema, la IA te dirá algo como ( y he añadido algo de mi propia cosecha ):
La diferencia entre UTF-8 y Unicode es fundamental, pero a menudo se confunden porque están estrechamente relacionados.
""Unicode:*** **Es un estándar de codificación de caracteres.
** Piensa en él como un diccionario gigante que asigna un numero único (llamado "punto de código") a cada carácter, símbolo, emoji, etc., de prácticamente todos los idiomas del mundo.* **Define qué caracteres existen y qué número los representa.
** Por ejemplo, la letra "A" mayúscula tiene el punto de código U+0041 == 65 DECIMAL. La letra "¤" tiene el punto de código U+00F1. Un emoji de una cara sonriente puede tener un punto de código como U+1F600.
* **No especifica cómo se almacenan esos números en la memoria o en un archivo.** Solo dice "este carácter es este número".**UTF-8:*** **Es una forma específica de codificar los puntos de código Unicode en bytes para almacenarlo o usarlos.** Es decir, es un esquema de codificación que te dice cómo representar esos números Unicode (los puntos de código) como secuencias de bytes (unos y ceros) que una computadora puede entender y almacenar.* **Es una codificación de ancho variable.** Esto significa que un carácter Unicode puede representarse con 1, 2, 3 o 4 bytes, dependiendo del punto de código. Los caracteres ASCII básicos (letras, números, símbolos comunes) se representan con 1 byte, lo que hace que UTF-8 sea compatible con ASCII. Los caracteres m s complejos (como los de idiomas asiáticos o emojis) requieren más bytes.* **Es la codificación más común para la web y muchos otros sistemas.
** Su eficiencia (para el inglés y otros idiomas occidentales) y su compatibilidad con ASCII la hacen muy popular.**En resumen:*** **Unicode es el "diccionario" de caracteres.** Define qué‚ caracteres existen y qué‚ número los representa.* **UTF-8 es una forma de "escribir" ese diccionario en un formato que las computadoras pueden entender.** Es una forma de convertir los números Unicode en bytes.**Analogía:**Imagina que Unicode es un libro de recetas que describe cómo hacer diferentes platos. UTF-8 es una forma específica de escribir esas recetas en un lenguaje que un chef (la computadora) pueda entender. Podrías tener otras formas de escribir las recetas (como UTF-16 o UTF-32), pero UTF-8 es una de las m s comunes y eficientes.**Otros esquemas de codificación Unicode:**Además de UTF-8, existen otras codificaciones Unicode, como:* **UTF-16:** Utiliza 2 o 4 bytes para representar cada carácter. Es común en algunos sistemas operativos (como Windows) y en Java.* **UTF-32:** Utiliza siempre 4 bytes para representar cada carácter. Es m s simple de implementar, pero menos eficiente en términos de espacio, ya que incluso los caracteres ASCII básicos ocupan 4 bytes.**Por qué‚ es importante entender la diferencia:**Si no se especifica la codificación correcta, los caracteres pueden mostrarse incorrectamente. Por ejemplo, si un archivo está codificado en UTF-8 pero se intenta leer como si estuviera en ASCII, los caracteres no ASCII (como las letras acentuadas) se mostrar n como símbolos extraños. Por eso, es crucial asegurarse de que la codificación utilizada para leer y escribir archivos coincida con la codificación real del archivo.
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
FiveWiDi
Posts: 1267
Joined: Mon Oct 10, 2005 2:38 pm
Has thanked: 4 times
Been thanked: 10 times

Re: TRichedi

Post by FiveWiDi »

cnavarro wrote: Sat Mar 15, 2025 1:08 pm También puedes añadir al principio de tu aplicacion

Code: Select all | Expand

   HB_SETCODEPAGE( "UTF8" )
De momento y como sólo es para esta situación concreta usaré la conversión de UTF8 a Str.

Muchas gracias Cristobal.
Un Saludo
Carlos G.

FiveWin 25.01 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 10
FiveWiDi
Posts: 1267
Joined: Mon Oct 10, 2005 2:38 pm
Has thanked: 4 times
Been thanked: 10 times

Re: TRichedi

Post by FiveWiDi »

Como el asunto ha empezado en este hilo, aquí dejo el comentario.

Ya tengo preparada la ayuda para los códigos de error de Verifactu en VeFa32.

Le pregunto a Gemini causas y soluciones para el código de error que responde Hacienda, y Gemini contesta algo relacionado... pero lo que le parece.
Es más para algunos códigos diferentes ha contestado lo mismo.

Vamos, que nadie ha "enseñado/entrenado" a Gemini para Verifactu.

De todas maneras es un 'gustazo'.

Esto va a cambiar el mundo como darle la vuelta a un calcetín.
Un Saludo
Carlos G.

FiveWin 25.01 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 10
User avatar
cnavarro
Posts: 6604
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Has thanked: 6 times
Been thanked: 8 times

Re: TRichedi

Post by cnavarro »

Teniendo en cuenta sobre todo, que lo que se ha visto hasta ahora es solo "la punta del iceberg"
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Post Reply