Ir para conteúdo

POWERED BY:

Arquivado

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

rafasantoscorrea

Select ignorando acento

Recommended Posts

Preciso fazer uma busca no banco de dados ignorando acento.

Por exemplo:

Tenho dois clientes cadastrados com o seguintes nomes: COMÉRCIO DE MÓVEIS e COMERCIO DE MADEIRA.

Se eu digitar COMERCIO ou COMÉRCIO na busca ele deve retornar os dois clientes na busca.

 

Com essa busca ele retorna somente se estiver exatamente igual:

<?php
     $sql=mysql_query("select razaoSocial from cliente where razaoSocial like '%$razaoSocial%'");

?>

 

Procurei na internet e encontrei essa função:

<?php
     $sql=mysql_query("select razaoSocial from cliente where razaoSocial like _utf8 '%$razaoSocial%' COLLATE utf8_unicode_ci");

?>

Se no banco de dados esta cadastrado sem acento eu posso digitar "COMÉRCIO" ou "COMERCIO" e vai encontrar, mas se no banco de dados esta com acento ele não encontra de nenhuma forma, ou seja, resolveu um problema, mas gerou outro.

 

 

Como posso revolver isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não poderia ao invés de pesquisar pelo Nome/Descrição, utilizar um ID ?

 

Com certeza essa seria a melhor opção, será que não atende ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tentou fazer um "ou" lógico ?

 

<?php
    $sql=mysql_query("select razaoSocial from cliente where razaoSocial like ('%$razaoSocial%') or like (_utf8 '%$razaoSocial%' COLLATE utf8_unicode_ci)");
?>

Não tenho certeza se a sintaxe está correta, mas, você pode pesquisar se tem com ou sem acento.
Veja se funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei dessa forma e também não funcionou!

Se eu digito uma palavra com acento na pesquisa ele encontra as mesmas palavras com acento e sem acento, mas se eu digito sem acento ele só encontra as palavras se acento e as com acento ele não acha!

 

Ex:No banco tenho cadastrado

Comércio

Comercio

 

Se eu pesquisar "Comércio" encontra as duas, mas se eu digitar "Comercio" só encontra uma, a que não tem acento.

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.