If you have an empty json_encode() and don’t know what the hell just went wrong, then this piece of code is really helpful.
$json = json_encode(array('message' => 'OK', 'data' => $row["description"])); if ($json) { echo $json; } else { error_log(json_last_error_msg()); }
If you get an error saying invalid UTF-8 characters or something similar, then all you need to do is set the character set of your database to UTF-8 in the following way.
connect_errno) { echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; die(); } var_dump($mysqli->get_charset()); // you should see something like 'latin1' if (!$mysqli->set_charset("utf8")) { error_log("Error loading character set utf8: %s\n", $mysqli->error); exit(); } var_dump($mysqli->get_charset()); // you should see something like 'UTF-8' // Do your stuff here. $mysqli->close();