Ir para conteúdo

POWERED BY:

Arquivado

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

Thiago de Oliveira Cruz

COLLATE em MATCH

Recommended Posts

Bom galera to aqui com um probleminha que nem o google me salvou =(

 

E espero que alguem nessa terra santa me salve... ou não pq se não der vo ter que fazer tudo na mão mesmo...

 

Tenho o seguinte código

SELECT * FROM `films` WHERE `status`= 'Published' AND MATCH(title,original_title,description,synopsis) AGAINST('Heróis')
Funciona tudo perfeitamente...

 

Se eu busca alguma palavra sem acentos...

Pois o banco de dados esta todo com: latin1_swedish_ci

 

Ai quando eu pesquiso ele não faz o mesmo resultado pois no banco de dados a palavra Heróis esta escrita assim Heróis

 

E ai eu precisava colocar algum tipo de collate

 

eu tentei assim:

SELECT * FROM `films` WHERE `status`= 'Published' COLLATE latin1_swedish_ci AND MATCH(title,original_title,description,synopsis) AGAINST('heróis' COLLATE latin1_swedish_ci)

Mas não obtive sucesso ele continua sem achar as palavras acentuadas diretamente...

 

E agora josé que mais de opção eu tenho???

 

Lembrando que LIKE!!! não é permitido.... -.- pq vai ferrar com a performance

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Reportando continuação da duvida

Bom continuei estudando e cheguei no seguinte código:

SELECT * FROM `films` WHERE status LIKE 'Published' AND MATCH(title,original_title,description,synopsis) AGAINST('+Her*' IN BOOLEAN MODE) ORDER BY created_at DESC

Ele ainda não lê a acentuação mas se eu conseguir fazer um substring da mensagem e deixa só as 3 primeiras letras com um * depois ele vai ler tudo que começar com aquelas 3 primeiras letras...

 

Não é bem isso que eu procuro...

 

Ainda to querendo descobrir como eu faço para ele ler acentuações no português... =(

 

Porque o código vem codificado e vem por exemplo como lá em cima Heróis ficaria Heróis...

 

Ou seja não fica o valor natural ai vai buga e vai mostra 167893628937 respostas =/

 

E eu queria que ele fize-se o valor com o COLLATE latin1_swedish_ci pq meu banco todo ta nesse COLLATE...

 

Bom vou continuar pesquisando e reportando... quem sabe será util para alguem no futuro ;)

 

Abraços

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.