MYSQL tabela PHP Json eksport

0

Witam, mam napisany taki kod, który zamienia dane z tabeli mysql na JSON. Wszystko działa jak powinno oprócz polskich znaków.
Jak wpisze jakieś polskie znaki w tabelce to, json_encode() nic nie robi a błąd jest Malformed UTF-8 characters, possibly incorrectly encoded , bez polskich znaków wyświetla poprawnie.

<?php
header('Content-type: application/json');
header('Access-Control-Allow-Origin: *');

$user = "";
$pass = "";
$db = new PDO('mysql:host=localhost;dbname=name;charset=UTF8', $user, $pass);

$row=$db->prepare('select * from tabela');  
  
$row->execute();//execute the query  
$json_data=array();//create the array  
foreach($row as $rec)//foreach loop  
{ 
// echo "test";


$json_array['kategoria']=$rec['kategoria'];  
    $json_array['opis']=$rec['opis'];  
//here pushing the values in to an array  
    array_push($json_data,$json_array);  
  
}  
  

echo json_encode($json_data);  

?>
0

Spróbuj uruchomić zapytanie SET NAMES utf8; na samym początku połączenia.

Btw, czy na pewno potrzebujesz dorzucać komentarz foreach loop do pętli? Komentarze powinny opisywać rzeczy oraz powiązania, które nie wynikają w sposób oczywisty z kodu (np. powinny opisywać dlaczego, a nie co).

0

@Patryk27: działa :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1