Clipper On Line • Ver Tópico - Efeito colateral - HB_SetCodePage( "PT850" )

Efeito colateral - HB_SetCodePage( "PT850" )

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Efeito colateral - HB_SetCodePage( "PT850" )

Mensagempor susviela@bol.com.br » 28 Nov 2018 12:06

No post http://www.pctoledo.com.br/forum/viewtopic.php?f=45&t=19631 descobri a solução para o problema de acentuação que gerava erros na minha classe encripta, mas obtive um efeito colateral.
A solução foi inserir no meu código essas instruções abaixo:

   REQUEST HB_LANG_PT
   REQUEST HB_CODEPAGE_PT850     
   
   HB_SetCodePage( "PT850" )                 
   HB_LANGSELECT("PT")


O detalhe, ao aplicar essas instruções no meu sistema as telas do ( HMG 3.4.4 Unicode ) obtive erros de acentuação na GUI do sistema, to meio perdido, vou continuar pesquisando ...

O problema É COM CERTEZA NO CODEPAGE, pois com apenas esses comandos já volto a ter os acentos normalmente

   REQUEST HB_LANG_PT
   HB_LANGSELECT( "PT" )


W64-HMG-MariaDB.png
Acentuação com erro
W64-HMG-MariaDB.png (4.26 KiB) Visualizado 1173 vezes
.
.
"E quando você perder o controle, colherá o que plantou."
=========================================
Carlos Alberto Nunes #Susviela
Site: https://www.PowerInformatica.com.br
=========================================
Blog xBase: https://programandoxbase.wordpress.com/
Blog TI: https://susviela.wordpress.com

( #ProgramandoxBase #AllxBase )
Avatar de usuário

susviela@bol.com.br
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 236
Data de registro: 30 Jun 2017 11:17
Cidade/Estado: São José / SC
Curtiu: 153 vezes
Mens.Curtidas: 24 vezes

Efeito colateral - HB_SetCodePage( "PT850" )

Mensagempor susviela@bol.com.br » 28 Nov 2018 18:09

Eita que esse troço de UNICODE / UTF8 é complicado mas .. ta resolvido ...

Fica a dica o CODEPAGE default do HMG 3.4.4 é UTF8.

Testar com: msginfo( HB_SetCodePage() )

Umas pesquisas e encontrei essas funções:

hb_UTF8ToStr()
hb_StrToUTF8()

- HB_UCODE ( cUnicodeCharacter ) --> Return nCode / ASC
- HB_UCHAR ( nCode ) --> Return cUnicodeCharacter / CHR

hb_StrToUtf8( sData, sCodepageIN ) Translation sData of sCodepageIN in utf8
hb_Utf8ToStr( sData, sCodepageOUT ) Translation sData from utf8 to sCodepageOUT

hb_Utf8Len( sData ) This and the following functions are analogs of
hb_utf8Chr( n ) the standard string functions Len(),
hb_utf8Asc( sData ) Chr(), Asc (), etc., but for rows in a
hb_utf8Substr( sData, n1, n2 ) utf8 encoding. As it is known, in utf8
hb_utf8Left( sData, n1 ) one character may be encoded with more
hb_utf8Right( sData, n1 ) than one byte. These functions operate with
hb_utf8Stuff( sData, n1, n2, cNew ) the number of symbols rather than bytes.
hb_utf8Peek( sData, n1 )
hb_utf8Poke( sData, n1, n )
.
.
"E quando você perder o controle, colherá o que plantou."
=========================================
Carlos Alberto Nunes #Susviela
Site: https://www.PowerInformatica.com.br
=========================================
Blog xBase: https://programandoxbase.wordpress.com/
Blog TI: https://susviela.wordpress.com

( #ProgramandoxBase #AllxBase )
Avatar de usuário

susviela@bol.com.br
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 236
Data de registro: 30 Jun 2017 11:17
Cidade/Estado: São José / SC
Curtiu: 153 vezes
Mens.Curtidas: 24 vezes

Efeito colateral - HB_SetCodePage( "PT850" )

Mensagempor sygecom » 29 Nov 2018 09:42

Carlos,
Tentou verificar a codificação do arquivo .PRG, o mesmo tem que está salvo como UTF8
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7005
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 130 vezes

Efeito colateral - HB_SetCodePage( "PT850" )

Mensagempor susviela@bol.com.br » 29 Nov 2018 21:44

Já resolvi, obrigado.

Fica a dica:

1) Os fontes tem que estar em UTF8

2) A HMG 3.4.4 Unicode usa a página de código UTF8 como default (então ai estava o erro ao setar PT850)

3) Você precisa tomar cuidado com as funções que tratam strings CHR / ASC entre outras ... elas tem correspondentes em Unicode - hb_utf8Chr( n ) / hb_utf8Asc()
.
.
"E quando você perder o controle, colherá o que plantou."
=========================================
Carlos Alberto Nunes #Susviela
Site: https://www.PowerInformatica.com.br
=========================================
Blog xBase: https://programandoxbase.wordpress.com/
Blog TI: https://susviela.wordpress.com

( #ProgramandoxBase #AllxBase )
Avatar de usuário

susviela@bol.com.br
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 236
Data de registro: 30 Jun 2017 11:17
Cidade/Estado: São José / SC
Curtiu: 153 vezes
Mens.Curtidas: 24 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 15 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro