• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[ERLEDIGT] MySQL - Sonderzeichen eintragen

Hallo-Welt

Aktives Mitglied
Guten Morgen liebe Community,

ich hab mich heute morgen etwas in mysql eingearbeitet und dabei festgestellt, dass ich keine Sonderzeichen über PHP in der DB eintragen kann. Die Kollation ist auf "utf8_unicode_ci" gestellt. Ist die falsch, oder müssten Sonderzeichen und Umlaute so eig. eintragbar sein? Immer wenn sich in einer Spalte ein Sonderzeichen/Umlaut befindet, bleibt diese leer. Wie kann ich das problem beheben, was ist die richtige bzw. von mir benötigte Kollation?
 
Werbung:
Guten Morgen liebe Community,

ich hab mich heute morgen etwas in mysql eingearbeitet und dabei festgestellt, dass ich keine Sonderzeichen über PHP in der DB eintragen kann. Die Kollation ist auf "utf8_unicode_ci" gestellt. Ist die falsch, oder müssten Sonderzeichen und Umlaute so eig. eintragbar sein? Immer wenn sich in einer Spalte ein Sonderzeichen/Umlaut befindet, bleibt diese leer. Wie kann ich das problem beheben, was ist die richtige bzw. von mir benötigte Kollation?

Die Datenbank passt wahrscheinlich, der Rest eben nicht.

UTF-8 solltest du komplett durch dein Projekt durchziehen.
Das fängt bei der HTML-Dokumentkodierung an, geht weiter mit dem <meta charset="UTF-8">, dann der korrekte Content-type im HTTP-Header, weiter mit der Dokumentkodierung des PHP-Scripts und schlussendlich noch den Verbindungszeichensatz zwischen PHP und MySQL. Die Datenbanken und Tabellen selbst sollten natürlich auch UTF-8 als Kollation haben, nicht nur deren Spalten.

Wenn man nicht mit veralteter, komischer Software arbeitet, kann so etwas eigentlich gar nicht unbeabsichtigt passieren. Würde also mal die Einstellungen deines Editors überprüfen.
 
scbawik schrieb:
UTF-8 solltest du komplett durch dein Projekt durchziehen.
Das fängt bei der HTML-Dokumentkodierung an, geht weiter mit dem <meta charset="UTF-8">, dann der korrekte Content-type im HTTP-Header, weiter mit der Dokumentkodierung des PHP-Scripts und schlussendlich noch den Verbindungszeichensatz zwischen PHP und MySQL. Die Datenbanken und Tabellen selbst sollten natürlich auch UTF-8 als Kollation haben, nicht nur deren Spalten.
Okay, danke für den Tipp. Mir ist jetzt auch aufgefallen, dass ich die Eingabe, welche über post übermittelt wird gar nicht in UTF-8 umgewandelt habe. Also kurzerhand
PHP:
utf8_encode();
eingefügt, jetzt geht's.
Danke dir für deine Hilfe :)
 
Zuletzt bearbeitet:
Werbung:
Zurück
Oben