I have simple function that do this:
$stmt = $mysqli->prepare("SELECT id, firstName, lastName, birthDate, address, phoneNumber, housingSituation1 FROM client WHERE id = ?");
$param = 2;
$stmt->bind_param("i", $param);
$stmt->execute();
$obj = $stmt->get_result()->fetch_object();
$stmt->close();
$mysqli->close();
echo json_encode($obj);
This worked good until at one point i noticed its not returning anything but i get status 200 from that function, when i started debugging i seen that i have client with lastName: Müller, so after i repleaced ü with u that script started working again. Then i googled a bit and found that i can use something like this echo json_encode($obj, JSON_UNESCAPED_UNICODE);
but its not working for me. Anyone knows how i can solve this issue?
I solved issue like this, on my dbConnect php file i added mysqli_set_charset, and my dbConnect.php looks like this. I hope this helps someone.
$DB_HOST = 'localhost';
$DB_USER = 'root';
$DB_PASS = '';
$DB_NAME = 'local_db';
$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
mysqli_set_charset($mysqli, 'utf8');