Ir ao conteúdo
  • Cadastre-se

Resultados em uft8 - jQuery Autocomplete (JSON)


mah2602

Posts recomendados

Estou usando o jQuery Autocomplete, porém os resultados não estão aparecendo corretamente em uft8. Minha tabela no banco de dados está em uft8_general_ci e eu adicionei o código $mysqli->query("SET NAMES ‘utf8′"); como indicou a pessoa que fez o tutorial aqui.

Porém continua não exibindo os caracteres corretamente.

Alguém sabe como resolver o problema?

cidade.php:

<?php
$mysqli = new mysqli('localhost', '******', '******', '******');
$mysqli->query("SET NAMES ‘utf8′");
$text = $mysqli->real_escape_string($_GET['term']);

$query = "SELECT DISTINCT field_63 FROM jbd_joomd_type15 WHERE field_63 LIKE '%$text%' ORDER BY field_63 ASC";
$result = $mysqli->query($query);
$json = '[';
$first = true;
while($row = $result->fetch_assoc())
{
if (!$first) { $json .= ','; } else { $first = false; }
$json .= '{"value":"'.$row['field_63'].'"}';
}
$json .= ']';
echo $json;
?>

index.php:

<script type="text/javascript">
$(document).ready(function()
{
$('.search_cidade').autocomplete(
{
source: "cidade.php",
minLength: 1
});
});

</script>

Link para o comentário
Compartilhar em outros sites

Fiz isso mas infelizmente não surtiu efeito, estranho porque eu já tinha lido na internet sobre usar decode para isso, mas comigo não funcionou.

Sim, meu cabeçalho está em uft8:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

Também achei essa documentação sobre json_encode que eu não entendi muito bem e não consegui aplicar ao meu código: http://php.net/manual/en/function.json-encode.php Tudo o que eu achei na internet a partir daí também não funcionou.

Meu arquivo está assim atualmente:

<?php
$mysqli = new mysqli('localhost', '********', '********', '********');
$mysqli->query("SET NAMES ‘utf8′");
$text = $mysqli->real_escape_string(utf8_decode($_GET['term']));

$query = "SELECT DISTINCT field_63 FROM jbd_joomd_type15 WHERE field_63 LIKE '%$text%' ORDER BY field_63 ASC";
$result = $mysqli->query($query);
$json = '[';
$first = true;
while($row = $result->fetch_assoc())
{
if (!$first) { $json .= ','; } else { $first = false; }
$json .= '{"value":"'.$row['field_63'].'"}';
}
$json .= ']';
echo $json;
?>

Obrigada pela ajuda.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Faça o seguinte:

Debugue (imprima o valor) da variavel $query e copie na sua próxima resposta.. também, execute ela no banco de dados (pelo phpMyAdmin, por exemplo) e veja se retorna o que deveria retornar..

$query = "SELECT DISTINCT field_63 FROM jbd_joomd_type15 WHERE field_63 LIKE '%$text%' ORDER BY field_63 ASC";
[B][COLOR="Red"]print_r($query); exit;[/COLOR][/B]
$result = $mysqli->query($query);

Abraços!

Link para o comentário
Compartilhar em outros sites

Coloquei a linha como você pediu e retornou isso:

SELECT DISTINCT field_63 FROM jbd_joomd_type15 WHERE field_63 LIKE '%%' ORDER BY field_63 ASC

Sem a linha retorna os valores normalmente, que são as duas cidades cadastradas:

[{"value":"Exemplo de Cidade"},{"value":"São Mateus"}]

Veja que assim o nome aparece normalmente em uft8, eu já até tinha verificado isso antes.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

A sua query não está recebendo a $text direito, talvez seja necessário verificar..

Pode retirar o decode(), já que não não era o que imaginei..

Se o JSON está retornando corretamente, o problema está no charset da pagina que a recebe.. você tem o Firebug ou o Http watch Professional pra debugar o JSON recebido pela página ?

Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!