Ich weiß, dass es viele Fragen dazu gibt. Ich habe viele Dinge ausprobiert, aber ich konnte es nicht beheben. Vielleicht habe ich aufgrund meines begrenzten Wissens die Lösung nicht ausgeführt?json_encode() gibt null für Sonderzeichen zurück
Ich wähle Daten aus MySQL-Datenbank und json_encode() -Funktion darauf verwenden. Dies funktioniert bis auf die Daten, die Sonderzeichen (Türkisch) enthalten. Für diese Werte gibt json null zurück. Wie kann ich das beheben?
Hier ist mein einfacher PHP-Code:
<?php
require('init.php');
$sql="SELECT * FROM tablename;";
$result=mysqli_query($con,$sql);
$response=array();
while($row=mysqli_fetch_array($result)){
array_push($response,array("X"=>$row["x"],"Y"=>$row["y"]));
}
echo json_encode($response);
?>
in mysql, sind Spalten auf UTF-8-türkisch. Ich habe versucht, Dinge wie das Setzen von Headern, das Aufrufen einiger Funktionen, das Neuanlegen von PHP-Dateien in der utf8-Codierung usw., aber keiner hat funktioniert.
Haben Sie den mysqli Zeichensatz gesetzt http://php.net/manual/en/mysqli.set-charset.php – RiggsFolly
Mögliche Duplikate von [Json \ _encode Funktion: Sonderzeichen] (http://stackoverflow.com/ Fragen/20694317/JSON-Encode-Funktion-Sonderzeichen) –
Hallo Riggs. Nein, das habe ich noch nicht versucht. Muss ich das in meinem Verbindungsskript (init.php) schreiben? – user6650650