maicon_m 0 Denunciar post Postado Março 29, 2008 buenas! Tenho um campo de pesquisa em meu site. O cara digita "João" e clica em pesquisar. Então mostra os dados do João, pois é assim que esta cadastrado no bando de dados (com o acento). Contudo, se ele digita "Joao", a pesquisa não retorna resultado algum. Alguém pode me dar uma idéia de que função utilizar ou alguma outra maneira? Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Março 29, 2008 Você usa MySQL ? Compartilhar este post Link para o post Compartilhar em outros sites
mangakah 217 Denunciar post Postado Março 29, 2008 Você pode pedir para digitarem sempre com acento oras! hehehe... brincadeirinha! Eu não se como você organizou seu query, eu faria isso usando a clausula LIKE: SELECT * FROM pessoas WHERE nome LIKE "jo_o" Observe que ao invés do caractere 'ã', eu coloquei um '_', que na sintaxe do LIKE representa um caracter qualquer, retornando assim os joões. Agora é você usar uma função com preg_replace para substituir todos os caracteres acentuados da consulta por _. Sacou, muchacho? Compartilhar este post Link para o post Compartilhar em outros sites
maicon_m 0 Denunciar post Postado Março 30, 2008 uso mysql marcio.sfs mangakah, como colocar o "_" quando o que passo é uma variável ($termo) ? Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Março 31, 2008 Tendo ou não acento, a string será encontrada. SELECT campos FROM tabela WHERE nome LIKE "%str_com_acento%"; Isso encontraria os registros com 'str_com_acento', 'str_com_acênto', 'str_com_acénto', etc. Compartilhar este post Link para o post Compartilhar em outros sites
maicon_m 0 Denunciar post Postado Abril 1, 2008 pois aí que está o problema marcio.sfs. Com acento ele acha tranqüilo, mas... sem acento não acha de jeito e maneira. o que procuro é uma maneira de talvez utilizar um padrão para ir substituindo a palavra adicionando acentos ou um outro jeito que não exija tanto tráfego.. A grande questão é que ele consiga achar tanto com acento quanto sem. Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Abril 1, 2008 SELECT * FROM tab WHERE nome LIKE _utf8 '%João%' Compartilhar este post Link para o post Compartilhar em outros sites
maicon_m 0 Denunciar post Postado Abril 2, 2008 bah giesta ainda não consegui.... segue o código que uso para pesquisa: "SELECT * FROM cadastro_empresa WHERE campo like \"%$var%\" order by empresa" e aproveitando.... tenho um text para pesquisa e o botão Pesquisar. Se eu digito o termo e pressiono enter ele não efetua a busca... só que clico no Pesquisar... obrigado para quem esta tentando ajudar... http://forum.imasters.com.br/public/style_emoticons/default/worshippy.gif Compartilhar este post Link para o post Compartilhar em outros sites
Paulo Caesar 0 Denunciar post Postado Abril 2, 2008 collation utf8 é seu amigo maicon_m (ou um 'typecast' como o giesta sugeriu). Tem que ver qual a codificação da sua página. veja se a conexão da sua database está configurada corretamente, não sei porque raios normalmente está pra latin1_swedish_ci. Caso não esteja, tente colocá-la em UTF-8 SET NAMES 'utf8' SET CHARACTER SET 'utf8' Normalmente, esse detalhe passa desapercebido, e a database numa linguagem, a codificação da página em outra, pode ter certeza que acentos vão ser o inferno pra se "resolverem" Compartilhar este post Link para o post Compartilhar em outros sites