Sergio R 0 Denunciar post Postado Março 30, 2007 Bom tarde pessoal! Estou com um problema nas consultas que é o seguinte: Se num campo tiver as palavras Sérgio ou João, e se a pessoa que for consultar digitar sergio, não retorna resultado, pois o mysql não acha, mas se digitar sérgio, dá certo. Preciso otimisar a consulta para ignorar os acentos das palavras, ou seja, tanto faz digitar sergio ou sérgio que a consulta retorna o resultado. Sei que para isso tem que usar expressões regulares, mas até agora nada consegui. O select que uso atualmente é: $sql = SELECT * FROM tabela WHERE nome LIKE '%$palavra%' OR endereco LIKE '%$palavra%' order by 'nome'; Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Março 30, 2007 Tente isso: SELECT * FROM tabela WHERE upper(nome) LIKE upper('%$palavra%') ORDER BY 'nome'; Os acentos não serão problema, você estará passando tudo para maiusculas. Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Abril 1, 2007 E passando para maiúsculo o acento é removido? Conheço uma solução, que é convertendo para UTF-8. SELECT * FROM tabela WHERE CONVERT(nome using utf8) LIKE '%$palavra%' Compartilhar este post Link para o post Compartilhar em outros sites
Sergio R 0 Denunciar post Postado Abril 10, 2007 Parece que consegui resolver o problema, mas não sei se foi a melhor opção. Apenas fiz o seguinte: descomentei esta linha do php.ini ; PHP's built-in default is text/html ;default_mimetype = "text/html" default_charset = "iso-8859-1" A partir dai, o php escreve no mysql literalmente o que eu escrevo, sem converter os acentos, parece que resolveu o meu problema, mas ainda tenho dúvida se essa é uma boa opção, pois não conheço bem o php.ini, foi um chute que deu certo. Muito obrigado pela ajuda, pessoal. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
MetalWar 0 Denunciar post Postado Maio 18, 2012 Boa tarde, tenho esta consulta "SELECT distinct RTNO, nacionalidade, sexo, datanasc, sectact, situacao, dataatend FROM act Where nacionalidade like '%"&request.form("search")&"%'" como faço para quando coloco uma nacionalidade na caixa de procura me retorne os registos com nacionalidade com acento e sem acento. Ou seja, se meter por exemplo albânia e na BD tiver registos com albânia e albania retorne os dois. A BD é access. estou a programar em ASP. Podem me ajudar sff? obrigado Compartilhar este post Link para o post Compartilhar em outros sites