Sign in to follow this  
Followers 0
Meruem_Chimera

Como filtrar acentuação e letras em caixa alta e baixa

2 posts in this topic

Boa Tarde, estou fazendo um projeto novo e estou em dúvida em relação a filtragem.

Quero que o usuário cadastre os dados no banco com acentuação e letras maiúsculas e minúsculas, porém na hora de filtrar a pesquisa, quero que o filtro desconsidere tudo isso, algo assim é possível? Qual o comando utilizado nesse caso?

A maneira que conheço mais fácil é a entrada de dados no banco só em maiúsculo e sem acentuação, mas por questão de estética e liberdade do usuário, a primeira opção de cadastro me pareceu mais completa. Gostaria de saber a opinião de vocês sobre os dois métodos de cadastros, e quais dos dois é o mais recomendado, citando seus prós e contras. 

Share this post


Link to post
Share on other sites

Posted (edited)

Vc está usando HFilter ou query para trazer os resultados?
Com HFilter, pode ter problemas acessando grande volume de dados, ao que me falaram. Mas se for HFilter, veja, no help, o caractere ~].
Na query vc já tentou usar LIKE %{parâmetro}%  ? Tipo SELECT nome FROM cliente WHERE nome LIKE {param}

Aí vc usa os %% em volta do {param} se quiser buscar qualquer nome que contenha param.

Quanto a qual maneira seria preferível, talvez alguém saiba informar melhor, mas não sei se gravar com acento dá tanta diferença de memória, depende da sua estratégia de codificação de caracteres e do tamanho que ficará o banco de dados. Vc vai projetar um banco para milhares de usuários e está com medo de estourar os HDs do servidor? Se não for esse o caso, não deve haver problema em salvar com acento, ficando melhor para o usuário. Não tem como responder isso de um jeito simples, depende muito do seu contexto e pra explicar direito precisaríamos estudar codificação de strings e como o HFSQL faz por padrão, a fim de não ter que codificar suas procedures pra traduzir um binário doidão salvo no banco. Nessa onda, logo vc estará estudando pra fazer sua própria encriptação de dados, aí teria problemas ao mandar um app pro google play e as normas malucas de exportação de aplicativos dos EUA quanto à encriptação de dados (porque a Google é de lá e está sujeita a tais normas)... maior confusão. Vc pode estudar essas coisas se tiver bastante tempo e vontade, mas tb vale uma base no simples para ter ferramentas antes de reinventar a roda, se tiver uma deadline. O windev tb tem umas funções do tipo Encrypt. Mas sua curiosidade é saudável.
Acho interessante vc estudar algo de UNICODE e ANSI se for trafegar dados entre desktop e mobile, já tive problemas com isso. Senão, vai de vc.
Vc está em algum projeto de pesquisa?

Esse link dá uma noção sobre isso, e pra mim foi como uma daquelas coisas importantes que te perseguem se vc não der ao menos uma lida, rs.
https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/

Edited by Fábio Senji
2 people like this

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0