JSON encode deutsche Umlaute

Alles, was PHP betrifft, kann hier besprochen werden.

JSON encode deutsche Umlaute

Postby tobias.billen » 13. November 2018 15:03

Servus zusammen,

troz langer Suche und vermeindlichen Lösungen, stehe ich immernoch am Anfang folgender Aufgabe:

Ich möchte aus einer MySQL Datenbank Daten in einem JSON String parsen. Soweit ist ja auch kein Problem für mich. Allerdings gibt es Probleme bei den Umlauten, weil JSON auf UTF-8 zurückgreift. Meine Idee ist also, alles auf UTF-8 zu konvertieren und dann ausgeben. In PHP stelle ich mir das vor:

Code: Select all
<?php

    header('Content-Type: application/json; charset=ISO-8859-1');

    $servername = "localhost";
    $username = "root";
    $password = "";
    $db = "bitnami_joomla";

    $conn = new mysqli($servername, $username, $password, $db);
    $result = $conn->query("SELECT * FROM `contact`");
   
    $json_array = array();

    while($row = mysqli_fetch_assoc($result)){
        $json_array[] = $row;
    }

    echo json_encode($json_array, JSON_UNESCAPED_UNICODE);


Meine Frage ist: Was muss ich ändern, damit die Umlaute korrekt umgewandelt werden können?
tobias.billen
 
Posts: 3
Joined: 11. September 2018 10:17
XAMPP version: 7.2.8
Operating System: Win 7

Re: JSON encode deutsche Umlaute

Postby Nobbie » 13. November 2018 19:35

tobias.billen wrote:Meine Frage ist: Was muss ich ändern, damit die Umlaute korrekt umgewandelt werden können?


Wieso umwandeln? Wie sind die Daten in MySQL gespeichert?

Was allerdings SOFORT auffällt, wieso gibst Du als Ausgabeformat für den Browser ISO-8859-1 an?? Das MUSS ja schief aussehen, wenn Du UTF-8 in Wirklichkeit ausgibst.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04


Return to PHP

Who is online

Users browsing this forum: No registered users and 15 guests