[firebase-br] Firebird Multiplataforma - Problemas com o Blob

Sandro Souza escovadordebits em gmail.com
Qua Dez 2 16:30:12 -03 2015


Bom dia/tarde/noite Christian.

Pelo que você informou, realmente é problema no tal componente TIpHtmlPanel.

Lembro que quando eu fiz o meu framework em Delphi 7, para desenvolver
sistemas para a web, eu fiz uma função para converter os caracteres ANSI
para os respectivos tokens HTMLs e outra para fazer o inverso.

Deixa eu tentar explicar o que é um token HTML.

Se você colocar um caracter acentuado em uma página HTML, dependendo do
conjunto de caracteres utilizado pelo navegador, o caracter acentuado pode
aparecer errado.

Para evitar esse tipo de problema, foram criados os tokens HTMLs, que são
substrings que serão convertidas para os respectivos caracteres acentuados
no momento da exibição da página, de forma que sejam corretamente exibidos.

Por exemplo, uma letra A maiúscula com um acento agudo ("acute" em inglês),
ficaria assim: Á

Note que o token HTML inicia sempre com um "&" e termina sempre com um ";".

Nesse caso, quando o navegador for exibir o "Á", ele converterá essa
substring corretamente para a letra A maiúscula com o acento agudo, dentro
do conjunto de caracteres utilizado por ele, exibindo corretamente o
caracter acentuado.

Eis aqui uma página que mostra uma relação de tokens HTMLs:
http://unicode.e-workers.de/entities.php

Apesar dessa página estar em alemão, as duas primeiras colunas da tabela
são bem explícitas.

A primeira coluna contém o token HTML, e a segunda contém o caracter
acentuado correspondente.

Antes de criar uma função de conversão de texto normal para tokens HTMLs,
experimente exibir um texto com tokens HTMLs no TIpHtmlPanel para ver se
ele exibe corretamente esses caracteres acentuados.

Se exibir corretamente, então você já sabe o caminho que tem que seguir.

Tente exibir algo como: Olá! Você está ótimo!

Teria que aparecer: Olá! Você está ótimo!


Espero ter ajudado mais que atrapalhado. :D

Em 2 de dezembro de 2015 15:00, Christian e Ana Luiza Britto <
chriseana em gmail.com> escreveu:

> Olá Glaucos,
> Acabei de testar e não deu certo.
> Quando apresento o campo na tela utilizando a função ShowMessage os
> dados aparecem corretamente. Mas, quando utilizo o componente IBPro
> não funciona mais.
> Parece ser algo com o componente.
>
> Um detalhe estranho, no Windows eu consigo fazer os dados aparecerem
> corretamente utilizando a função UTF8ToANSI. O problema é que no Mac e
> Linux os dados não são apresentados corretamente.
> Abs,
> Christian
>
> Em 02/12/15, Glaucos Ginez<glaucosginez em gmail.com> escreveu:
> > Pode ser algum problema com o Lazarus mesmo, tente fazer uma conversão no
> > conteúdo antes de exibi-lo com:
> >
> > SysToUFT8 ou UTF8ToSys
> >
> > Em 2 de dezembro de 2015 13:40, Christian e Ana Luiza Britto <
> > chriseana em gmail.com> escreveu:
> >
> >> Olá Marcos,
> >> Inelizmente não funcionou. Acrescentei o Charset correto e nada mudou.
> >> Postei mais dois emails para o grupo com mais informação,
> >> Abs,
> >> Christian
> >>
> >> Em 02/12/15, Marcos Carlos<mlimacarlos em gmail.com> escreveu:
> >> > Boa Tarde Christian...
> >> >
> >> >    Codificação de caracteres é uma coisa meio estranha... Eu não tenho
> >> > experiência com o Lazarus, mas no Java existe uma diretiva que vc
> >> > coloca
> >> a
> >> > codificação nos parâmetros de conexão. Eu tenho usado UNICODE_CI_AI
> com
> >> > o
> >> > firebird 2.5.1 e na string de conexão com o banco, neste caso falando
> >> > de
> >> > JDBC, fica mais ou menos assim:
> >> >
> >> > jdbc:firebirdsql:url:db?encoding=
> >> >
> >> > Eu testei minha aplicação em windows e linux e funciona normalmente
> com
> >> > todos os acentos no lugar. Seu problema com certeza é a codificação de
> >> > caracteres. Agora a questão é achar onde isso é configurado no
> Lazarus.
> >> >
> >> > abraço,
> >> >
> >> > Marcos de Lima Carlos
> >> > mail to: mlimacarlos em gmail.com
> >> > http://blog.sirandsir.com/  <http://blog.sirandsir.com/> - Blog da
> Sir
> >> > &
> >> > Sir
> >> > http://inventory.sirandsir.com/ - Sir&Sir inventory!
> >> >
> >> > <http://www.sirandsir.com>
> >> >
> >> >
> >> > Em 2 de dezembro de 2015 13:37, Christian e Ana Luiza Britto <
> >> > chriseana em gmail.com> escreveu:
> >> >
> >> >> Olá,
> >> >>
> >> >> Desenvolvi uma aplicação em Lazarus 1.4.4 e Firebird 2.5.1. No
> >> >> programa, tenho um campo Blob Subtype 1 - UTF8. Criei o banco de
> dados
> >> >> no Firebird para Windows 10. Copiei o banco para Linux Kubuntu 14.05
> e
> >> >> Mac OS X Mavericks. Aplicação está rodando corretamente, mas quando
> >> >> apresento os dados deste campo Blob a acentuação não aparece
> >> >> corretamente. No Linux aparece de uma, no Mac de outra. Apenas no
> >> >> Windows funciona corretamente. Obs. Utilizo a mesma versão do
> Firebird
> >> >> em todos os OS.
> >> >>
> >> >> Podem me ajudar?
> >> >> Grande abraço,
> >> >> Christian
> >> >>
> >> >> ______________________________________________
> >> >> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> >> >> Para saber como gerenciar/excluir seu cadastro na lista, use:
> >> >> http://www.firebase.com.br/fb/artigo.php?id=1107
> >> >> Para consultar mensagens antigas:
> >> >> http://www.firebase.com.br/pesquisa_lista.html
> >> >>
> >> > ______________________________________________
> >> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> >> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> >> > http://www.firebase.com.br/fb/artigo.php?id=1107
> >> > Para consultar mensagens antigas:
> >> > http://www.firebase.com.br/pesquisa_lista.html
> >> >
> >>
> >> ______________________________________________
> >> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> >> Para saber como gerenciar/excluir seu cadastro na lista, use:
> >> http://www.firebase.com.br/fb/artigo.php?id=1107
> >> Para consultar mensagens antigas:
> >> http://www.firebase.com.br/pesquisa_lista.html
> >>
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas:
> > http://www.firebase.com.br/pesquisa_lista.html
> >
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>



Mais detalhes sobre a lista de discussão lista