Página 1 de 1

Busca por produtos acentuados não funciona

Enviado: 21 Nov 2011, 15:53
por damxrn
AMIGOS ESTOU COM PROBLEMA EM BUSCA PRODUTOS QUE TEM ACENTOS EM SEU NOME: SIMPLESMENTE NÃO FAZ A BUSCA. COMO RESOLVER? SOU NOVO NO OPEN CART.

O título do seu tópico foi editado por não está de acordo com as Regras para utilização do fórum.

Re: Busca por produtos acentuados não funciona

Enviado: 21 Nov 2011, 16:44
por Manoel Vidal
Olá,

Qual a versão do seu OpenCart, pois realmente este problema existia em algumas versões anteriores e foi corrigido na mais atual.

Espero ter ajudado :D

Re: Busca por produtos acentuados não funciona

Enviado: 22 Nov 2011, 08:32
por damxrn
Uso a versão 1.5.1.3. No entanto quando busco a palavra ÁGUA, por exemplo, nenhum produto é em contrado, muito embora tenha o produto ÁGUA cadastrado.


Como resolver?? Acho que essa questão da acentuação é uma das partes que tem que ser melhoradas no OpenCart. Quase não existe material para resolver esse problema. Até agora não encontrei nada. Algum usuário mais avançado poderia colocar um artigo falando sobre isso.

Re: Busca por produtos acentuados não funciona

Enviado: 22 Nov 2011, 08:47
por Manoel Vidal
Bom testei aqui buscando pela palavra televisão em uma das lojas com a versão 1.5.1.3.1 e encontrou sem problemas. :)

Como disse antes, esse é um bug que surgiu nas versões 1.5 que já foi corrigido.

E não entendi o que você quis dizer com "usuário mais avançado", mas tudo bem fica para a próxima. :lol:

damxrn escreveu:Uso a versão 1.5.1.3. No entanto quando busco a palavra ÁGUA, por exemplo, nenhum produto é em contrado, muito embora tenha o produto ÁGUA cadastrado.


Como resolver?? Acho que essa questão da acentuação é uma das partes que tem que ser melhoradas no OpenCart. Quase não existe material para resolver esse problema. Até agora não encontrei nada. Algum usuário mais avançado poderia colocar um artigo falando sobre isso.

Re: Busca por produtos acentuados não funciona

Enviado: 15 Ago 2012, 13:30
por Lien
Acho que sei qual foi o problema, pois também tinha.
Uso também a versão 1.5.1.3, se vc acresentar os produtos diretamente na área de adminitração, não haverá o problema.
O problema estava naquala extesnão Import/Export
http://www.opencart.com/index.php?route ... sion_id=17
que importa o arquivo do Excel(.xls) para banco de dados da loja,
descubri que ele converte os caracteres com acento em código htmlentity, por exemplo a letra 'á' ==> á
Agora, quando vc faz busca, o sistema não converte as palavras em htmlentity para fazer a comparação, simplesmente em UFT-8.
Portanto quando vc tenta mandar a palavra por exemplo 'água' para buscar, e no seu banco de dados está a palavra 'água',
o sistema nunca vai achar ela...

Resolvi o problema modificando o código do arquivo: \admin\model\tool\export.php.

Encontre a função populateProductsWorksheet
Código: Selecionar todos
 function populateProductsWorksheet( &$worksheet, &$database, $languageId, &$priceFormat, &$boxFormat, &$weightFormat, &$textFormat )
Substitue a linha
Código: Selecionar todos
 $worksheet->writeString( $i, $j++, html_entity_decode($row['name'],ENT_QUOTES,'UTF-8') );
por
Código: Selecionar todos
 $worksheet->writeString( $i, $j++, $row['name'] );
e substitue a linha
Código: Selecionar todos
 $worksheet->writeString( $i, $j++, html_entity_decode($row['description'],ENT_QUOTES,'UTF-8'), $textFormat, TRUE );
por
Código: Selecionar todos
$worksheet->writeString( $i, $j++, $row['description'], $textFormat, TRUE );
Depois, encontre a função uploadProducts
Código: Selecionar todos
 function uploadProducts( &$reader, &$database ) {
Substitue a linha
Código: Selecionar todos
 $name = htmlentities( $name, ENT_QUOTES, $this->detect_encoding($name) );
por
Código: Selecionar todos
//$name = htmlentities( $name, ENT_QUOTES, $this->detect_encoding($name) );
(ou seja, desabilitando a linha)

desabilite também a linha
Código: Selecionar todos
 $description = htmlentities( $description, ENT_QUOTES, $this->detect_encoding($description) );
Isso funcionou no meu caso. :D