2017-03-01 6 views
0

Ich habe ein Datencodierungsproblem. Meine Datenbank hat Akzente in einer der Spalten, in der API gibt diese Spalte in einer PDO-Abfrage SQL-Server in PHP. Sobald ich zurückkomme, transformiere ich mit der json_encode-Methode in JSON, und JSON kommt NULL. Wenn ich var_dump die Fragezeichen mit Akzenten gebe, erscheint ' ' und in json leer. Ich weiß, dass es die Codierung ist, die ich in UTF8 konvertieren muss, aber ich kann diese Konvertierung nicht in PHP durchführen. Kann mir jemand helfen?Rückgabe JSON NULL

enter image description here

+0

hilft es? http://stackoverflow.com/questions/16800915/php-pdo-charset-utf8-an-invalid-keyword-charset-was-specified-in-the-dsn-str –

+0

versuchen Sie 'utf_encode()' und überprüfen. Kannst du bitte auch erzählen, was sind die ursprünglichen Charaktere dort? –

+0

SelecionaMensagem ($ codigo); // var_dump ($ mensagens); echo json_encode ($ mensagens, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); } catch (Ausnahme $ e) { var_dump ($ e-> getMessage()); } –

Antwort

-2

geben Sie an den Header für das rechte charset?

header('Content-type: text/html; charset=utf-8');

Beachten Sie auch, dass Ihre Spalten und Tabellen sollten utf8_unicode_ci sein.

Und schließlich sollte Ihre Verbindung zur Datenbank auch entsprechend charset=utf8 eingestellt werden.

+0

Wer hat mich weniger als 1 Sekunde nach dem Posten meiner Antwort abgelehnt: vielen Dank. – Ditto

+0

Gern geschehen. Diese Frage hat nichts mit Inhaltstyp zu tun: text/html. Weder mit mysql. –

+0

@YourCommonSense Und du hast das alles in weniger als 1 Sekunde gesehen. Cool. – Ditto