Logo Hardware.com.br
pardal-sp
pardal-sp Membro Senior Registrado
201 Mensagens 1 Curtida

Problemas com acentuação compilando com GTK

#1 Por pardal-sp 09/09/2004 - 20:40
Estou tentando criar uns programas Linux em GTK 2.0, mas estou tendo problemas com acentuação...
Se eu crio uma janela, insiro uma caixa de texto (GtkEntry) e digito caracteres acentuados, eles aparecem normalmente.
Porém, quando eu atribuo o conteúdo da caixa de texto à uma variável, todos os caracteres acentuados são substituídos por símbolos irreconhecíveis.
Ou seja, na hora de mostrar os caracteres acentuados, os programas que eu crio os mostram normalmente.
Mas, na hora de capturar o texto, todos os caracteres acentuados são perdidos.:cry:
Já fiz um teste criando um programa em C puro, compilando com o gcc. Os acentos são reconhecidos normalmente.
O problema é com as funções do GTK que capturam o texto digitado pelo usuário.
Alguém sabe como resolver isso??
pardal-sp
pardal-sp Membro Senior Registrado
201 Mensagens 1 Curtida
#2 Por pardal-sp
11/09/2004 - 15:25
Eu descobri a solução pra esses problemas de acentuação...

Se você deseja inserir uma string acentuada em algum lugar em um programa GTK (por exemplo, como um label, um nome de botão, o título de uma janela, etc) é preciso antes formatá-la com a seguinte função:

str = g_locale_to_utf8(str, -1,NULL,NULL,NULL), onde str é um ponteiro para a string em questão.


Se, ao contrário, você deseja capturar o texto que o usuário digitou em uma caixa de texto, usa-se a função:

str = g_locale_from_utf8(str, -1,NULL,NULL,NULL), onde str é um ponteiro para a string que foi capturada da caixa de texto.
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal