XAMPP Problem mit Umlauten in POST-Variablen

dragonfly77

Mitglied
Hallo,

ich habe eine lokale XAMPP Installation auf MacOS.
Ich erstelle zum üben eine kleine Anwendung:

Daten aus einem Formular sollen verarbeitet werden:
Ich klicke auf "absenden" des Formular und die Daten des Formular sollen angezeigt werden.

Das Problem ist das Umlaute die in den Eingaben des Formular standen als "?" dargestellt werden.
Das Kuriose: Umlaute die ganz normal so auf der HTML-Seite stehen (ohne Codierung als &uuml) werden richtig angezeigt.

<meta charset="utf-8">
- Ist überall eingestellt

header('Content-Type: text/html; charset=utf-8);
- keine Abhilfe
 
sind die PHP-Dateien auch als UTF-8 kodiert(solltest du in deinem Editor einstellen können)
Wie gibst du die Formulardaten aus(viele PHP-Funktionen nutzen latin1 als Standard-Zeichensatz)
 
Hallo,

die Dateien sind im UTF-8 kodiert.

Die Ausgabe erfolgt so:
Code:
<?php

  if (isset($done)) {
        if ($done == 1) {
echo "<div class='box box-success'>".
                "<div class='box-header with-border'>".
                  "<h3 class='box-title'>Erfolgreich angelegt</h3>".
                  "<div class='box-tools pull-right'>".
                    "<button class='btn btn-box-tool' data-widget='collapse'><i class='fa fa-minus'></i></button>".
                  "</div><!-- /.box-tools -->".
                "</div><!-- /.box-header -->".
                "<div class='box-body'>".
                  "<p><strong>Details</strong></p>".
                  "Name: $name".
                "</div><!-- /.box-body -->".
              "</div><!-- /.box -->";
    }
}

Name: $name
ist die endsprechende Zeile.

Habe auch schon folgendes Versucht:
Code:
$name = utf8_encode($name);

Dann erscheinen die Umlaute nicht als Fragezeichen sondern wieder anders falsch dargestellt.
<form accept-charset="utf-8"> hat auch nicht genützt.
 
Zuletzt bearbeitet:
Vorher lasse ich die Variable durch einen Filter laufen:

Code:
$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_SPECIAL_CHARS);
Allerdings hat das "ausschalten" der Funktion auch keine Änderung gebracht.
 
Ich habe noch mal alle Dateien gecheckt.
Alle sind UTF-8 gespeichert.
Suche seit Stunden im Internet nach Hinweisen.
Habe auch in der php.ini den default_chartset auf UTF-8 gestellt.
Nichts bringt mir Abhilfe. Langsam verzweifelt ich.
 
Zurück