Hi,
ich habe ein Problem mit den Umlauten. Ich gebe ein ä, ü, bzw. ö in ein Input Feld ein. Wenn ich dieses durch absende schreibt er mir in die Datenbank bei einem ä ein “ä” (ohne die Anführungszeichen). Wenn ich jetzt mit PHP vor dem SQL Befehl das ä durch ein ae ersetzen will und mir dieses ausgeben lasse, kommt kein ae sondern noch immer das ä.
Der Code:
($menuname = Der Textinhalt (dieser wird auch in den String geschrieben)):
das Problem habe ich auch wo anders, mit dem befehl
hier erstellt er auch einen Ordner aber mit dem selben komischen kürzel “ä”.
Daher kann es nicht an der DB liegen. (in die DB speichert er manuell das ä etc. normal und gibt diese auch normal aus).
Das ist aber der häufigste Fehler, hast du die Kodierung der Verbindung explizit auf die Benötigte gesetzt? Sind die PHP-Datei in der gleichen Kodierung?
Falls du eine andere als UTF8 nutzt, überleg dir zu wechseln, spart viel Aufwand und ist ziemlich zukunftssicher.
Das ist die vielleicht die Kodierung einer Spalte der Tabelle, wichtig ist bei deinem Problem aber die Kodierung der Verbindung. Meines Wissens nach ist diese standardmäßig auf latin-1 gestellt, wenn PHP sonst aber UTF8 ausgibt, kommt es zu deinen Problemen.
Bei deinem Problem mit dem Ordner erstellen ist dein geposteter Quelltext nicht hilfreich, woher kommen den die Daten, in den Variablen.
Jetzt habe ich die Datenbank komplett noch mal durch gecheckt und alles auf utf8 noch einmal aktualliesiert.
Er schreibt noch immer das “ä” in die Datenbank, sowie als Ordnername.
Die Daten kommen von normalen INPUTFeldern (Type=“text”) aus einem Formular, welches über POST übermittelt wird.
Diese werden wieder ausgelesen über $_POST[“menuname”] und auch ausgegeben. PHP gibt die Variable ä auch wirklich als ä aus. Aber speichern tut er es als “ä” (in DB und Ordner).
Danke für die Tipps.
Ich habe Xampp neu aufgesetzt. Bei der Installation hat Xampp die ini falsch beschrieben, falsche Koordinierung (Warum auch immer). Jetzt geht es wieder nach einer neu Installation.