Ir para conteúdo
Fórum Script Brasil
  • 0

Ignorar acento em consulta no MySql


Waldiney Rodrigues

Pergunta

Olá pessoal, estou precisando fazer uma consulta no mysql que ignore os acentos, tanto os que estiverem no banco quanto os acentos que forem digitados como parâmetro de pesquisa.

Já pesquisei aqui no fórum e pela net, e achei apenas o seguinte código:

"select * FROM tabela where campo LIKE _utf8 '%minhaconsulta%' collate utf8_unicode_ci"

Mas, acontece o seguinte, este código só funciona com os dados inseridos no próprio PHPMyAdmin, e não funciona com os dados inseridos por minha aplicação que é em PHP e usa charset UTF8.

Na estrutura do meu banco, eu uso utf8_unicode_ci em todos os campos.

O que eu devo mudar na aplicação ou no banco para o código funcionar?

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Eu tenho um metodo em PHP para tratar os acentos, removendo todos eles.

<?php

    function removerAcentos($var)
    {
        $var = ereg_replace("[ÁÀÂÃ]","A",$var);
        $var = ereg_replace("[áàâãª]","a",$var);
        $var = ereg_replace("[ÉÈÊ]","E",$var);
        $var = ereg_replace("[éèê]","e",$var);
        $var = ereg_replace("[ÓÒÔÕ]","O",$var);
        $var = ereg_replace("[óòôõº]","o",$var);
        $var = ereg_replace("[ÚÙÛ]","U",$var);
        $var = ereg_replace("[úùû]","u",$var);
        $var = str_replace("Ç","C",$var);
        $var = str_replace("ç","c",$var);

        return trim($var);

    }
    
    $str = "O que eu devo mudar na aplicação ou no banco para o código funcionar";
    echo removerAcentos($str);
    
    //saida
    //O que eu devo mudar na aplicacao ou no banco para o codigo funcionar


?>

Faça os teste,

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Então, suponha-se que no banco de dados esteja gravado "São Paulo". Quando eu faço uma consulta por "são paulo" (Sem o acento) ele não me retorna nada.

Dessa forma, não adianta eu remover os acentos antes de fazer a consulta.

Ou seja, independente de eu digitar a palavra acentuada ou não, ele deveria localizar.

Eu desconfio que seja algo relacionado ao tipo de codificação que está configurado na tabela. Mas, ainda não achei a solução.

Editado por Waldiney Rodrigues
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...