Cedilha e Acento não imprimindo

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1076
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

Cedilha e Acento não imprimindo

Mensagem por porter »

Olá pessoal, estou tendo esse resultado ao imprimir um orçamento
** ORÃAMENTO **

Assim, dá certo, imprimir na tela:

Código: Selecionar todos

10, 02 PROMPT HB_ANSITOOEM("Orçamento")
Estou fazendo dessa forma, para gerar um arquivo TXT:

Código: Selecionar todos

SET PRINTER TO C:\ORCAMENTOS\Orcamento.TXT
SETPRC(0,0)
? chr(18) + chr(27)+"E"
@ contl,00 SAY HB_ANSITOOEM("** ORÇAMENTO ** ")
Harbour 3.2.0 dev
alxsts
Colaborador
Colaborador
Mensagens: 3174
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil
Curtiram: 5 vezes

Re: Cedilha e Acento não imprimindo

Mensagem por alxsts »

Olá!

Como você está iniciando sua aplicação?

Está carregando e selecionando a página de código correta?

A página de código do teu editor de texto está configurada corretamente?

Qual sistema operacional está usando?

Se for Windows 11, execute as configurações abaixo:
Extraido de outro tópico escreveu:Acesse PAINEL DE CONTROLE -> REGIAO -> ADMINISTRATIVO -> E AJUSTAR a localidade do sistema e desmarcar a opção USAR UNICODE UTF-8 PARA SUPORTE DE LIGUAGEM MUNDIAL.
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador
Colaborador
Mensagens: 3174
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil
Curtiram: 5 vezes

Re: Cedilha e Acento não imprimindo

Mensagem por alxsts »

alxsts escreveu: 03 Ago 2026 17:59 Olá!

Como você está iniciando sua aplicação?

Está carregando e selecionando a página de código correta?

A página de código do teu editor de texto está configurada corretamente?

Qual sistema operacional está usando?

Se for Windows 11, execute as configurações abaixo:
Extraido de outro tópico escreveu:Acesse PAINEL DE CONTROLE -> REGIAO -> ADMINISTRATIVO -> E AJUSTAR a localidade do sistema e desmarcar a opção USAR UNICODE UTF-8 PARA SUPORTE DE LIGUAGEM MUNDIAL.
Editado:
Se você estiver selecionando a página de código correta, não é necessário usar funções de conversão como hb_AnsiToOem().
Aliás, este pode ser o problema. Está configurando a página de código corretamente e chamando a função de conversão, que bagunça o texto...
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20545
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 2 vezes

Re: Cedilha e Acento não imprimindo

Mensagem por JoséQuintas »

Também depende da codepage da impressora.
Tudo isso faz diferença.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1076
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

Re: Cedilha e Acento não imprimindo

Mensagem por porter »

Olá,
Windows 10, e a versão do NotePad++ é V8.4.5 (32 bit)

Qual configuração, devo usar ?
Na aba Encoding do NotePad++
==========================
ANSI
UTF-8
UTF-8 BOM
UTF-16 BE BOM
UTF-16 LE BOM
Character sets
Convert to ANSI
Convert to UTF-8
Convert to UTF-8 BOM
Convert to UTF-16 BOM
Convert to UTF-16 LE BOM

Estou inicializando o sistema, dessa forma:
FUNCTION Main()
REQUEST HB_CODEPAGE_PT850

A opção selecionada no NotePad++, servirá tanto para tela como para geração do arquivo TXT ?
Obrigado.
Kapiaba
Colaborador
Colaborador
Mensagens: 1923
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Re: Cedilha e Acento não imprimindo

Mensagem por Kapiaba »

Código: Selecionar todos

EXTERNAL HB_LANG_PT, HB_CODEPAGE_PTISO, HB_CODEPAGE_PT850

#ifNdef __XHARBOUR__     // Somente para HARBOUR
   REQUEST HB_CODEPAGE_UTF8
   REQUEST HB_CODEPAGE_UTF8EX
#endif

EXTERNAL _DBF, DBFCDX, DBFFPT
ANNOUNCE RDDSYS // ANNOUNCE FPTCDX

FUNCTION Main()

   ....... Variaveis...

   HB_LANGSELECT( 'PT' )     // Default language is now Portuguese
   HB_SETCODEPAGE( "PT850" )
   HB_CDPSELECT( "PTISO" )

   ....... continua codigo...

RETURN NIL
Regards, saludos.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 8196
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 6 vezes
Curtiram: 1 vez

Re: Cedilha e Acento não imprimindo

Mensagem por Itamar M. Lins Jr. »

porter escreveu: 05 Ago 2026 10:12 Estou inicializando o sistema, dessa forma:
FUNCTION Main()
REQUEST HB_CODEPAGE_PT850
Atenção nessa parte.
São dois!
HB_CODEPAGE_PT850 É para a pagina de código do RDDDBF CDX ou NTX.
E para a tela e as mensagens em PT-BR HB_LANG_PT
CODEPAGE -> É para o banco de dados e LANG é para TELA!
Se vc quer PADRONIZAR pode usar no Windows PTISO
Se usa Linux e Windows + internet + Mysql/etc... o normal é UTF8 ou UTF8EX no Harbour. Senão tem que ficar mandando o banco criar as tabelas assim, assado... Os bancos de dados e internet o padrão é UTF8.

Código: Selecionar todos

REQUEST DBFCDX, DBFFPT, DBFDBT
REQUEST HB_LANG_PT, HB_CODEPAGE_PTISO, HB_CODEPAGE_UTF8, HB_CODEPAGE_UTF8EX
FUNCTION MAIN
HB_CDPSELECT("PTISO") //Para o DBFCDX
hb_langselect("PT") //Para mostrar os acentos corretamente na tela.
Inclusive pode chamar vários para converter de um para outro.

Neste caso posso CHAMAR vários RDDs mas só uma LINGUAGEM na TELA PT(português)
Não uso CODEPAGE PT850 pq que é o padrão antigo MS-DOS. O moderno é PTISO(Windows).
Mas se já usa assim e está ok.(no RDDDBF) blz.
No caso do Notepad++ é apenas a TELA, não afeta o RDDDBF.
Dica. Pegue o TXT abra ele no notepad do windows que ele diz(mostra) como está.
Atenção com a observação do José Quintas.
As impressoras podem não imprimir corretamente caso seja texto puro (RAW).
Por isso abrir o texto com notepad ver como está e pedir para imprimir por ele que usa outro tipo de impressão que é o padrão no windows -> (EMF/GDI)
Saudações,
Itamar M. Lins Jr.
Responder