Suporte » Questões avançadas » Pesquisa não distingue acentuação e caracteres especiais

  • Resolvido buga9

    (@buga9)


    Se pesquisar por “cão” aparecem tudo o que tenha “ção”, ou se pesquiso por “gato” aparecem-me resultados com “obriGATÓrio”. Como resolver isto? Sem plugins, de preferência.

A visualizar 15 respostas - de 1 a 15 (de um total de 17)
  • vou perguntar ao papa xico, pode ser que ele saiba… :/

    Moderador pmfonseca

    (@pmfonseca)

    @buga9

    O forum é mantido graças ao tempo dedicado por uma reduzida equipa de voluntários. Peço que sejas paciente.

    bem, fiz a primeira pergunta há 2 semanas, ninguém respondeu. fiz um comentário há 3 horas e já obtive resposta, baril. estou quase a saber o que preciso 🙂

    agora a sério, é um assunto tão complexo que demore tanto tempo a obter uma resposta?!

    Moderador pmfonseca

    (@pmfonseca)

    Vamos então por partes:

    1- Qual o site em causa?
    2- Tens acesso à base de dados?
    3- Sabes qual o collation da tua base de dados?

    1- plurivet.pt
    2- sim
    3- utf8mb4_unicode_ci

    Moderador pmfonseca

    (@pmfonseca)

    Por norma o collation define como poderão funcionar as comparações de strings:

    – “bin” mais exatas: SELECT “b” = “B” => FALSE
    – “ci” não são case sensitive: SELECT “b” = “B” => TRUE
    – “general” menos rígidas: SELECT “a” = “à” => TRUE

    Pensei que estivesse em general, mas dizes que não, certo?

    buga9

    (@buga9)

    certo, está em “unicode”.null

    Moderador pmfonseca

    (@pmfonseca)

    A situação referida não depende do WordPress mas sim da Collation da base dados (MySQL).
    Diferentes definições da colaltion podem produzir resultados diferentes (mais rigorosos ou menos).
    Não é recomendável que se altere a collation da BD, mas sim que seja alterado o código das pesquisas, ou então procurar essa funcionalidade num plugin de confiança.

    buga9

    (@buga9)

    e como altero o código das pesquisas? onde altero esse código? em que ficheiro?

    Moderador pmfonseca

    (@pmfonseca)

    Podes definir o charset e o collation no /wp-includes/wp-db.php

    De qualquer forma, para dicas de programação poderás usar o canal #dev no Slack da Comunidade Portuguesa de WordPress

    Podes ver aqui como te podes juntar ao nosso Slack:

    WP Portugal já tem ‘team’ no Slack

    buga9

    (@buga9)

    ok, obrigado pela ajuda. vou ver se consigo descobrir como fazer isso.

    Fiquei curioso… Como se resolve este problema?

    @buga9, o que foi feito para resolver?

    Obrigado.

    amigo vitor,
    também gostava de saber, pois até agora ainda não tive nenhuma resposta satisfatória 🙁

    Acho que finalmente estou a conseguir encontrar algumas pistas que poderão indicar um caminho a seguir para resolver o teu problema.

    Ora tenta começar por aqui:
    https://wordpress.stackexchange.com/questions/176023/wordpress-search-return-wrong-results

    E encontrei um plugin que poderá (ou não ?) ser alternativa para a solução do teu problema. Dá uma vista de olhos neste “Search Everything:

    Search Everything

    Declaração de interesses: Não tenho qualquer tipo de afiliação / ligação aos sites externos à plataforma wordpress.org que indiquei. Sempre que possível, tento indicar soluções e/ou respostas que não incorram em custos para os utilizadores. Neste caso, presumo que não existem quaisquer tipos de custos associados. Obrigado.

    Moderador pmfonseca

    (@pmfonseca)

    O plugin Search Everything não ultrapassa a questão da collation da base de dados, apenas amplia o contexto das pesquisas, por exemplo a legenda das imagens, ou novas taxomonias, ou então facilita a exclusão de determinados conteúdos da pesquisa.

    Até ao momento, várias sugestões foram apresentadas:
    – mudança da collation da BD para a necessária: https://codex.wordpress.org/Converting_Database_Character_Sets
    – criação de um novo formulário de pesquisa (custom)
    – utilização de Elastic Search

    Infelizmente nenhuma imediata e fácil de implementar.

    • Esta resposta foi modificada Há 1 mês, 1 semana por  pmfonseca.
A visualizar 15 respostas - de 1 a 15 (de um total de 17)