[firebase-br] RES: RES: RES: (like maiusculo e minusculo)

Rodrigo A. de Freitas rodrigo em solucoeseinformatica.com.br
Qua Maio 6 14:46:33 -03 2009


Luis,

Não é questão de trabalhar com acentuação ou não; Você irá definir o charset
e o collate em função do idioma da aplicação, não há como definir um
"padrão" pré-selecionado em um banco de dados de alcance mundial.

Para nós brasileiros, desde a versão 1.5, se não me engano, existe um
collate específico que é o PT_BR; o character set utilizado pode até variar
uma pouco; eu utilizo o ISO8859_1, por exemplo, enquanto conheço pessoas que
trabalhar com o WIN1252 (ou algo assim).

E você tem que entender que o character set e o collate são coisas
distintas: o charset define o conjunto de caracteres aceitos pelo banco de
dados. Um russo precisa que o banco de dados entenda texto com escrita
cirílica, um chinês com escrita em mandarim enquanto nós utilizamos um
charset que lide com idiomas de raiz latina.

O collate é o que faz a mágica do like que nosso amigo precisa. O collate
PT_BR, por exemplo, faz com que registros sejam classificados corretamente
pelo ORDER BY (registros começados À e Á virão junto com os registros
começados por A assim como o Ç junto de C e etc.), faz com que não haja
diferenciação entre 'joao', 'JOAO', 'joão' e 'João' em uma busca, por
exemplo.

Tanto o charset e o collate são definidos campo a campo; você pode numa
tabela de clientes, por exemplo, definir um campo de 'nome' com o charset
ISO8859_1 e o collate PT_BR, e esquecer de colocar ambos no campo de
endereço, e ambos os campos terão comportamento diferente no order by e na
cláusula where.


[]'s

Rodrigo A. de Freitas
Análise & Desenvolvimento

Soluções & Informática

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de LuisFireVB
Enviada em: 6 de maio de 2009 11:55
Para: 'FireBase'
Assunto: [firebase-br] RES: RES: (like maiusculo e minusculo)

Isso é uma coisa que ainda não consegui entender direito, ou achar uma
explicação clara do assunto.

Ao meu ver, se somos brasileiros e trabalhamos aqui, acho que deveria ter um
único padrão para aplicações em nosso território, então como se pode definir
Charset e Collte diferentes para cada aplicação, ou alguém aqui trabalho sem
acentuações nos aplicativos e faz pesquisas em textos só maiúsculas ou só
minúsculas?

Será que alguém tem algum link que aborde isso claramente para aplicações em
Português BR?

Obrigado
Luis

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Eduardo Jedliczka
Enviada em: quarta-feira, 6 de maio de 2009 11:22
Para: FireBase
Assunto: Re: [firebase-br] RES: (like maiusculo e minusculo)

Fábio, pela sua resposta percebi que você não conhece CHARSET e COLLATE.

são eles que definem se o banco irá tratar de forma diferente caracteres
em minúsculas e maiúsculas - tanto na procura quanto na ordenação.

Além disto, eles interferem também nos acentos. 

Graças à isto, pode-se procurar JOSE e encontrar (ou não): José, josé ou
jose, JOSE, JOSÉ... etc...

Sugiro que faça uma pesquisa e procure descobrir qual o melhor charset e
collate para o seu aplicativo.


abraço

Eduardo

Em Qua, 2009-05-06 às 09:59 -0400, Fábio Machado (Gmail) escreveu:

> A tabela é tipos_envio e o campo é descricao
> 
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
Em
> nome de Eduardo Jedliczka
> Enviada em: quarta-feira, 6 de maio de 2009 09:52
> Para: FireBase
> Assunto: Re: [firebase-br] (like maiusculo e minusculo)
> 
> qual é o charset da tabela / campo ?
> 
> Abraço
> 
> Eduardo
> 
> Em Qua, 2009-05-06 às 09:51 -0400, Fábio Machado (Gmail) escreveu:
> 
> > Bom dia a todos estou com a seguinte duvida, estou usando o Delphi 7 com
> > component dbexpress e o comando like para filtrar alguns dados desse
> jeito:
> > select * from tipos_envio where descricao like:texto order by descricao
> > 
> > O problema é algumas letras podem estar em maiusculo e outras em
> minúsculo.
> > 
> > A pergunta é como fazer para que o select mostre tanto maiúsculas como
> > minúsculas?
> > 
> > 
> > ______________________________________________
> > 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://firebase.com.br/pesquisa
> ______________________________________________
> 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://firebase.com.br/pesquisa
> 
> 
> ______________________________________________
> 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://firebase.com.br/pesquisa
______________________________________________
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://firebase.com.br/pesquisa


______________________________________________
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://firebase.com.br/pesquisa

Nenhum vírus encontrado nessa mensagem recebida.
Verificado por AVG - www.avgbrasil.com.br 
Versão: 8.5.325 / Banco de dados de vírus: 270.12.20/2100 - Data de
Lançamento: 05/06/09 06:04:00





Mais detalhes sobre a lista de discussão lista