[firebase-br] ISO8859-1 to UTF-8

Rodrigo Gomes da Silva rodrgomes em gmail.com
Sex Abr 1 10:58:19 -03 2016


Gladiston, isso não é erro não, é o comportamento normal e correto.

Esse parâmetro charset é exatamente para isso para o banco entender q toda
comunicação de campos texto entre o cliente e server tem q ser feita usando
esse charset (campos com caracter set none são exceção). Desde de que o
campo esteja com um charset que tenha todos os caracteres usado por uma
aplicação, como o iso8859 tem, o engine do banco faz a conversão
transparente pros 2 lados sendo indiferente pro client o formato físico
armazenado.



Isso não deve ser encarado como um erro, e sim como recurso, exatamente
pelo fato q vc comentou pois permite que aplicações de diferente
frameworks, misturando desktop com web, etc tenha os dados no charset da
aplicação sem precisar de uma conversão local aonde causaria a confusão que
vc falou de eventualmente ter na mesma tabela registros gravados com
charsets diferente. Se totas as aplicações setarem o charset de conexão
corretamente isso nunca ira acontecer.  O unico problema ocorreria se
precisasse gravar algum caracter que não existisse no iso8859, mas creio q
isso não é o caso do colega.



Em 31 de março de 2016 10:45, Gladiston Santana <gladiston em vidy.com.br>
escreveu:

> Sandro, quando se faz isso ocorre uma transliteração dos dados.
> Ocorre que ISO8859->UTF a transliteração é mínima(acho até que não perde
> nada) causando a falsa impressão que tá tudo OK, mas que deve ser encarado
> como um erro que dá certo.
> O problema disso, é que dependendo do programa você cruza com um monte de
> tecnologias envolvendo linguagens, frameworks em diferentes plataformas e
> uma virgula errada alí, pode causar o tal efeito borboleta então é mais
> seguro usar o charset com o qual o banco foi criado e como os dados estão
> gravados. Muitos sites, esperam se servidos em UTF. Eu mesmo nunca
> encontrei um webservice servindo em outro formato que não fosse UTF e para
> ser sincero se um webservice me enviasse dados codificados em outra coisa
> como ASCII eu acharia o site bem 'fuleiro'.
> Lenon, se pretende seguir com essa mudança recomendo usar página de dados
> de 16k. Assim alguns limites do FB também serão incrementados, entre eles o
> 'key size'.
> O 'key size' é importante porque quando você está usando UTF esse limite
> pode facilmente ser atingido. Então se você tem indices de pesquisa por
> descrição de produto e similares com tamanho longo, dependendo do tamanho
> da página de dados, facilmente esse caracteres convertidos em UTF podem
> ultrapassar o tal limite, então pega os seus indices, veja os campos
> maiores que existem e submeta a essa calculadora:
> http://mujweb.cz/iprenosil/interbase/ip_ib_indexcalculator.htm
>
> Isso me ajudou, e no meu caso, não pude converter para UTF-8.
> Converter par UTF-8 simplifica a operação na web, digamos que as linguagens
> e as suas muitas frameworks vem preparadas para trabalhar neste formato,
> mas que  voce pode ignorar essa conversão porque as boas linguagens e
> frameworks permitem a seleção adequada de charset e evitar a transliteração
> que como disse pode causar efeito borboleta.
>
> []´s e boa sorte.
> ______________________________________________
> 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