Jump to content
Fórum Script Brasil
  • 0

Busca Com "acento" E Sem "acento"


Decio

Question

Estou tentando fazer uma pesquisa por palavras (usando Like ), e gostaria que a consulta retornasse também as palavras com acento, tipo assim: O usuário faz uma busca pela palavra "João" e a consulta retornaria "Joao ou João".

Para palavras digitadas com acento, é fácil, eu poderia usar o replace para substituir os caracteres com acento e procurar uma ou outra , mas eu não

consegui pensar em como fazer se o usuário digitar sem o acento e eu procurar pela mesma palavras com acento.

Alguém tem alguma idéia de como fazer?

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Pois é urso.louco , pode até fechar o tópico, mas surgiu um pequeno problema...

Se fizer a pesquisa com uma palavra sem acento , a consulta retorna as palavras com e sem acento. mas se fizer a mesma pesquisa com mesma palavra só que com acento, retorna somente as palavras com acento.

Vou ter que alterar o código para procurar as palavras digitadas com acento também. Mas valeu a dica , só estou relatando para quem for usar o código não achar que funciona 100%

Link to comment
Share on other sites

  • 0

manow, aí você vai ter que fazer que nem eu fiz, dei uma arrumada e foi veja o script:

function palavrasem(Str)

palavrasem = Replace(Str,"a","[a, á , ã]")

palavrasem = Replace(palavrasem,"A","[A, Á, Ã]")

palavrasem = Replace(palavrasem,"e","[e, é , è , ê]")

palavrasem = Replace(palavrasem,"E","[E , É , Ê]")

palavrasem = Replace(palavrasem,"i","[i , í , ì]")

palavrasem = Replace(palavrasem,"I","[i , Í]")

palavrasem = Replace(palavrasem,"o","[o , ó , ò , ô , õ]")

palavrasem = Replace(palavrasem,"O","[O , Ó , Ô , Õ]")

palavrasem = Replace(palavrasem,"u","[u , ú , ù]")

palavrasem = Replace(palavrasem,"U","[u , Ú]")

palavrasem = Replace(palavrasem,"c","[c , ç]")

palavrasem = Replace(palavrasem,"C","[C , Ç]")

palavrasem = palavrasem

end function

function palavracom(Str)

palavracom = Replace(Str,"ã","[a]")

palavracom = Replace(palavracom,"Ã","[A]")

palavracom = Replace(palavracom,"á","[a]")

palavracom = Replace(palavracom,"Á","[A]")

palavracom = Replace(palavracom,"ê","[e]")

palavracom = Replace(palavracom,"Ê","[E]")

palavracom = Replace(palavracom,"í","")

palavracom = Replace(palavracom,"Í","")

palavracom = Replace(palavracom,"õ","[o]")

palavracom = Replace(palavracom,"Õ","[O]")

palavracom = Replace(palavracom,"ú","")

palavracom = Replace(palavracom,"Ú","")

palavracom = Replace(palavracom,"ç","[c]")

palavracom = Replace(palavracom,"Ç","[C]")

palavracom = palavracom

end function

dim conecta,SQL,tabela,cor

Set conecta = Server.CreateObject("ADODB.Connection")

conecta.Open "usuarios"

nome = Palavrasem(Request.Form("nome"))

nome2 = Palavracom(Request.Form("nome"))

SQL = "SELECT * FROM tb_contas WHERE NOME LIKE '" & nome & "%' OR nome LIKE '" & nome2 & "%' ORDER BY nome"

Set Reg = conecta.execute(SQL)

Pronto, agora é so correr para o abraco...hehehe!

Link to comment
Share on other sites

  • 0

Caro Rockbilly, eu acredito que vai ter um pequeno problema na busca com acento. Por exemplo se eu digitar a palavra "BATALHÃO" e usar o "Replace(palavracom,"Ã","[A]")" , a palavra vai ficar assim: "BÃTÃLHÃO", e não vai ser encontrada.A dica do nosso amigo urso.louco foi 10, e resolveu meu problema.eu peço para o usuario digitar sem acento, mas sabe como é o usúario não é?você pede uma coisa, ele faz outra e diz que não fez, por isto vou trabalhar melhor em cima deste código. estou dando uma olhada nas regras de acentuação para ver se eu chego a algum acordo.

Link to comment
Share on other sites

  • 0

Caro colega, entenda o código como quiser, mas comigo aqui funciona do jeito que gostaria que funcionasse, ou seja, o usuário digita a palavra sem acento com maiuscula e minuscula e vem os dados, assim como com acento. O intuito foi te ajudar cara, mas se não compreendeu, sorry!!

Link to comment
Share on other sites

  • 0

Caro Rockbilly, eu não disse que você não me ajudou, eu apenas comentei o código.Existe situações da consulta que vai funcionar e outras que não vão funcionar.Não vou dar exemplos para não esticar o tópico.Obrigado pela atenção.

Moderador, por favor, pode fechar o tópico.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      651.8k
×
×
  • Create New...