Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bruno Bim

acentos na expressao...

Recommended Posts

tenho em um site de um cliente aqui que tem um campo de busca que quando digito algo na caixinha de texto ele me traz o valor correto, mas percebi que tem diferença de letras com acentos e sem acentos, gostaria de saber se existe alguma funçao para que quando fizer a busca retire os acentos da palavra e ai me mestro o resultado....

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai, acho que eu me expressei errado quanto a função de tirar acentos, pois é o seguinte.

 

 

no banco existe verios registros (uns com acentos outros sem acentos), quando faço a busca pelo site ele me traz o valor exato da palavra, mas o problema é o seuginte, se eu tirar os acentos na hora da busca ele vai contibuar me trazendo o valor sem acento, ai as palavras com acentos nao serao buscadas,

 

 

eu queria alguma ideia para que quando a pessoal digitasse na caixainha de busca ela buscasse tanto com acentos como a mesma expressao sem acentos

 

 

http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai, acho que eu me expressei errado quanto a função de tirar acentos, pois é o seguinte.no banco existe verios registros (uns com acentos outros sem acentos), quando faço a busca pelo site ele me traz o valor exato da palavra, mas o problema é o seuginte, se eu tirar os acentos na hora da busca ele vai contibuar me trazendo o valor sem acento, ai as palavras com acentos nao serao buscadas, eu queria alguma ideia para que quando a pessoal digitasse na caixainha de busca ela buscasse tanto com acentos como a mesma expressao sem acentos http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

Que banco de dados você usa?Se for SQL Server, é só configurar o banco como Acent Incensitive.Se for Access ou algum outro.. tem que verificar se existe alguma configuração parecida!AbraçoCassiano.

Compartilhar este post


Link para o post
Compartilhar em outros sites

se for em access desconheço alguma propriedade do banco que faça isso, mas com a função que coloquei no outro post você pode fazer pesquisa com e sem acesnto e retornar todos os valores encontrados

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao CassianoVix, o banco esta em SQL, mas ano sei onde fazer essa configuração, você poderia me ajudar nisso . http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Bom..Eu sei que ele pede essa configuração durante a instalação.. mas agora que já está instalado, eu não lembro ao certo onde você poderia alterar isso.Vá na ferramenta de administração do banco, e tenta ir clicando com o botão direito (e acessando as propriedades) dos servidores (sql server registration) e verifica se existe essa configuração. Tenho quase certeza que fica por ali, mas não estou na empresa agora para poder verificar pra você.Qualquer coisa mais tarde te passo essa informação, se você não conseguir até lá.. :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

CassianoVix, estou faznedo a busca pela internet, nao sei o pq eu configuraria meu sql namaquina... sera que ano tem algum jeito de na hora da busca verificar a acentuação... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

BrunoCaso você não consiga alterar a configuração do banco, a única solução que eu vejo é fazer algo assim:
SELECT campo FROM tabela WHERE retiraAcentos(campo) = " & retiraAcentos(campo)
O problema é que pra isso você vai ter que criar uma função no SQL Server que faça o mesmo que a retiraAcentos criada no ASP faz.

Compartilhar este post


Link para o post
Compartilhar em outros sites

complementando o sql do amigo cassiano

 

 

 

"SELECT campo FROM tabela WHERE retiraAcentos(campo) = '" & retiraAcentos(campo) &'" OR campo='"&campo&"'"

 

 

desta forma realizará busca com e sem acento ao mesmo tempo, problema será o retorno para o usuário. exemplo:

 

no banco você tem cadastrado joão luis e joao luis

 

serão listados os dois, mas na realidade é a mesma pessoa e deveria listar apenas uma vez. O ideal para usar a função tiraAcentos é fazer um tratamento no banco atual retirando todos os acentos e nos formulários de inclusão e alteração já enviar os dados sem acento, assim sempre irá retornar o valor correto http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

ae pessoal, estou aqui do novo .. olha só...pensei assim, na hora da busca em vez de buscar apenas uma string, buscar 2 strings, com acentos e sem acentos, ai usei a função acima para tirar os acentos, mas ai que ta,quando alguem digita com acentos, ele tira os acentos e faz as 2 buscas, mas quando a pessoaldigita sem acento ele ano tem como fazer gerar os acentos, ai que ta..como resolver isso...

Compartilhar este post


Link para o post
Compartilhar em outros sites

vixe meu camarada, o que você tá querendo agora é dar vida propria pra os computadores!! como que ele vai saber onde vai acento na palavra, isso não tem como, o máximo que você pode fazer é um dicionario onde ele vai buscar as possiveis palavras mas isso ai é complicado de fazer, eu tenho um código em VB6 que faz isso mas tem que cadastrar palavra por palavra no banco...por exemplo....o usuário digita joao, o resultado da busca no dicionario vai ser joao, joca, joana, joaquim....mas para isso você tem que cadastrar todas as palavras. A unica maneira que vejo pra voce fazer a pesquisa da maneira que quer é como expliquei no ultimo post, você terá que "reformular" a base de dados para tudo sem acento e quando o cara digitar ele busca somente palavras sem acentos, independente de como ele digitar. A outra forma é primeiro fazer uma consulta pela palavra com acento e depois fazer uma nova pesquisa sem acento mas ai o resultado pode duplicar...exemplo procurar palavra joão e listar o total de joão cadastrado1º pesquisa por joão com acento e exibe o total 502º pesquisa por joão sem acento(joao) e exibe o total 35 na verdade queremos o total exibindo...total de joão cadastrado = 85 pense bem a maneira de como quer exibir os dados pois o computador colocar o acento é impossivel, mesmo porque cada idioma utiliza uma acentuação

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele pode fazer isso, mas o resultado seria exibido contruções e construcoes...na logica são as mesmas palavras, então deve exibir apenas um dos valores. Se você usar a função para retirar acentos conseguirá o que pretende, só tens que pensar na melhor maneira para ter desempenho e facilidade numa possivel manutenção

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.