php / MySQL / PDO – Leerer json_encode String trotz Datensätze

Wieso ein PDO Datensatz von php nicht in ein JSON konvertiert werden kann.

    Inhaltsangabe
  1. Die Lösung

Ich bin gerade ein Projekt auf PDO am umstellen und wollte eine Rückgabe von der Datenbank mit einem json_encode ausgeben, damit ich die Variable in JavaScript weiternutzen kann.

Das Problem war jedoch, dass obwohl der Befehl an die Datenbank einen Datensatz zurück gegeben hat, der Rückgabewert von json_encode leer gewesen ist.

Die Lösung

Das oben genannte Problem tritt aufgrund der falschen Zeichenkodierung auf. json_encode arbeitet mit utf8 und deswegen sollte gerüft werden, ob die Datenbank Verbindung mit utf8 aufgebaut wurde.

Um die Datenbank Verbindung über utf8 herzustellen, muss man sicher gehen, dass die Verbindung wie folgt aufgebaut ist:

$dbo = new PDO('mysql:host=localhost;dbname=yourdb;charset=utf8', $username, $password);

Themen

Bugfixing Datenbanken Erfahrung Learning MySQL php Programmieren Technik

Beitrag teilen

WhatsAppen

Folgen Sie uns