PHP + Ajax não recupera dados com acentos do bd
Li alguns tópicos e fóruns mas não consegui resolver como recupero dados do banco onde há palavras com acentuação.
Cadastrei via insert dentro do phpmyadmin alguns dados para teste onde alguns tem acentos. Ex: Paraná.
Não estou conseguindo recuperar os dados quando pesquiso via form html.
A lógica é pesquisar Estado e Cidade no form, que passa os valores do input para o php via ajax e dentro da função success recupero esses dados.
<form id="check_events">
<input type="text" name="state" id="state" value="" placeholder="Estado..." />
<input type="text" name="city" id="city" value="" placeholder="Cidade..." />
<input type="button" name="submit" id="submit" value="Pesquisar">
</form>
<script>
$(document).ready(function() {
$('#submit').click(function(){
var state = $("#state").val();
var city = $("#city").val();
var dataString = "state="+state+"&city="+city+"&submit=";
if($.trim(state).length>0 & $.trim(city).length>0){
$.ajax({
type: "POST",
url: "http://localhost/www/check.php",
data: dataString,
crossDomain:true,
cache:false,
success: function(data){
data = JSON.parse(data);
var state = data[0];
var city = data[1];
var name = data[2];
var place = data[3];
var date = data[4];
window.localStorage.setItem("state", state);
window.localStorage.setItem("city", city);
window.localStorage.setItem("name", name);
window.localStorage.setItem("place", place);
window.localStorage.setItem("date", date);
window.location.href = "results.html";
}
});
}
});
});
</script>
check.php
<?php
header('Content-Type: text/html; charset=UTF-8');
include_once("conn.php");
if(isset($_POST['submit'])){
$estado = $_POST['state'];
$cidade = $_POST['city'];
$sql = "SELECT * FROM events_table WHERE state = '".$estado."' and city = '".$cidade."' ";
$result = mysqli_query($mysqli, $sql);
$totalrows = mysqli_num_rows($result);
if($totalrows > 0){
//echo "success";
$recipes = array();
while($recipe = mysqli_fetch_array($result, MYSQLI_ASSOC)){
$state[] = $recipe['state'];
$city[] = $recipe['city'];
$name[] = $recipe['name'];
$place[] = $recipe['place'];
$date[] = $recipe['date'];
}
$output = json_encode(array($state, $city, $name, $place, $date));
echo $output;
}else{
echo "failed";
}
}
?>
Já tentei mudar o header no php e o contentType do ajax mas não adiantou. Alguma outra solução?
Discussão (0)
Carregando comentários...