Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17660
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

JSOM não recupera dados com acento do banco de dados MySQL

22-02-2016 15:25

Nesse post vou dar uma dica para quem está tentando obter valores de um banco de dados MySQL usando $.getJSON, e não consegue obter valores de linhas que contém palavras acentuadas.

Obs 1.: O Agrupamento (Collation) da coluna que tem palavras com acento no banco de dados deve ser: latin1_swedish_ci
Obs 2.: Se você já tem o script pronto pode simplesmente passar a função utf8_encode no valor que vem com acento do banco de dados.

Vou postar um script de exemplo usando MySQLi para consulta ao banco de dados.

Nesse exemplo vou passar nome para obter id do banco de dados.

<script src="jquery.js"></script> <script> $(document).ready(function() { $("#nome").blur(function() { var n=$("#nome").val(); $.getJSON("consulta.php", {nome:n}, function(json){ $("#id").val(json[0].id); }); }); }); </script> <form action="" method="POST"> coloque o nome: <input type="text" id="nome" name="nome" value=""> <br> id: <input type="text" id="id" name="id" value=""><br> </form>

consulta.php

<?php header("Content-Type: text/html; charset=UTF-8",true); define("SERVIDOR", "localhost"); define("USUARIO", ""); define("SENHA", ""); define("BANCODEDADOS", ""); $conecta = new mysqli(SERVIDOR, USUARIO, SENHA, BANCODEDADOS); // CONECTA if ($conecta->connect_error) { trigger_error("ERRO NA CONEXÃO: " . $conecta->connect_error, E_USER_ERROR); } $sql = "SELECT * FROM minha_tabela WHERE nome='".$_GET['nome']."'"; // CONSULTA $query = $conecta->query($sql); // RODA A CONSULTA $linhas = $query->num_rows; if($linhas >= 1) { // SE HÁ LINHAS while($colunas = $query->fetch_assoc()) { $array = Array(); $array[] = Array("id" => utf8_encode($colunas["id"])); $json_encode = json_encode($array); echo $json_encode; } $query->free(); // LIBERANDO OS DADOS DA CONSULTA } else { echo "Não há resultados"; // SEM RESULTADOS } $conecta->close(); // FECHANDO A CONEXÃO ?>

0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado