web: update
titel: Fuchsie 'Waldi'Konnte Termine nicht ändern, weil: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Freundeskreis Saar-Pfalz'. Ständig kommen neue Sorten hinzu, werden untereina' at line 1
mir ist da noch etwas eingefallen, in der phpbb2 hatte ich da mal auch ein problem mit dem ' , da hattest du was geändert, ging um die Betreffzeile, finde es aber nicht mehr
Um ein ' oder " beim Speichern korrekt in einem eigene Script uu verwenden, muss der String maskiert werden.
Die einfachste und unsicherste Methode wäre
Karsten Ude
-={ Das Mädchen für alles }=- Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Jede Variable, die aus $_POST übernommen wird und letztlich in der Datenbank landen soll ist zu konvertieren.
Und das sind hier auch wieder eine ganze Menge...
Karsten Ude
-={ Das Mädchen für alles }=- Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Karsten Ude
-={ Das Mädchen für alles }=- Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
hallo, ich habe das problem immer noch, habe das also so geändert, aber wenn ich ein text sende, zb. für kommt für in der datenbank an, was mach ich falsch?
wäre schon korrekt, dann müsste aber auch beim Auslesen aus der Datenbank das ganze umgekehrt werden, um wieder korrekte Zeichen zu erhalten.
Karsten Ude
-={ Das Mädchen für alles }=- Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Na ja, du hast ja auch einen gemischten Inhalt.
Die alten Einträge sind noch nicht auf den neuen Stand, die neueren aber schon.
Eines kann man anzeigen, aber nicht beide parallel.
Karsten Ude
-={ Das Mädchen für alles }=- Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Die Datenbanktabellen sind auf UTF-8 eingestellt, richtig?
Dazu ist auch die Webseite auf UTF-8 umgestellt, oder?
Dann solltest du vor dem Speichern auch utf8_encode nehmen, damit die Werte korrekt in die Datenbank geschrieben werden (dann aber auch mit "Sonderzeichen", was völlig normal und auch nötig ist!).
Und zur Anzeige kann man dann entweder, wie die Daten eben ausgelesen werden, mit utf8_decode wieder anzeigen, bzw. diesen Schritt auch wieder weglassen.
Ggf. wenn das nichts nutzt, die Funktionen umgekehrt verwenden, also utf8_decode zum schreiben und utf8_encode zum auslesen.
Wie gesagt:
Alte Einträge müssten einmal überarbeitet werden, um korrekt in UTF-8 angezeigt und verwendet zu werden.
Die neuen Einträge sollten aber schon mal korrekt sein, damit man die alten überhaupt bearbeiten könnte.
Karsten Ude
-={ Das Mädchen für alles }=- Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Dann versuch es doch mal ohne utf8_encode oder utf8_decode ;-)
Karsten Ude
-={ Das Mädchen für alles }=- Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Na, es muss sich doch etwas ändern, wenn du den Text mit oder ohne Konvertierung anzeigen lässt...
Karsten Ude
-={ Das Mädchen für alles }=- Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Noch mal rekaputiliert:
Die neuen oder neu geänderten Einträge werden so oder so nicht korrekt angezeigt?
Zunächst einmal die Fakten:
Die Seite wird als UTF-8-kodiert angezeigt.
Damit sollten alle Inhalte, die dargestellt oder auch über ein Formular abgesendet werden, als utf-8-kodierte Zeichen in der Datenbank landen.
Jetzt sollte man also nicht noch einmal mit htmlentities und utf8_encode die Zeichenkodierung ändern, da ja bereits utf-8 vorliegt.
Wenn das Speichern ohne vorherige Konvertierung der Zeichen nicht sauber klappt, sollte man zunächst dort mit utf8_decode oder utf8_encode die Zeichen vor dem Speichern in der Datenbank ändern, damit diese dort auch korrekt ankommen.
Denn auch wenn die Tabelle auf utf8 eingestellt ist, heisst das noch lange nicht, dass die Inhalte auch korrekt unterstützt werden. Das kommt nämlich dann auch noch u. a. auf den Treiber des Datenbankservers und dem Zeichensatz des Datenbankschemas und diversen anderen Dingen an.
Aber zurück zum Thema:
Wie werden die Inhalte im Formular zum ändern angezeigt?
Dort bereits mit den gesamten Sonderzeichen?
Und was passiert, wenn du den Text dann erst einmal wieder manuell änderst?
Wird der dann weiterhin "verstümmelt", wenn du ihn das nächste Mal anzeigen lässt oder bearbeiten willst?
Wie gesagt:
Die Webseite wird als utf8 angezeigt, daher sollte zunächst keine weitere Konvertierung vorgenommen werden.
Das betrifft aber dann auch nur alle neuen oder neu gespeicherten Texte, nicht bereits gespeicherte Texte, die vielleicht noch nicht in UTF-8 vorliegen!
Die hatte ich ja bereits einmal versucht anzupassen, aber dennoch muss zumindest jeder neue Eintrag schon mal sauber laufen.
Entferne daher alles, was irgendwas konvertiert. Also wie oben genannt ohne htmlentities und utf8_encode im Eingabeformular, wenn wenn dort schon Mist reinkommt, wird es hinten nicht besser, wenn die Daten übernommen und gespeichert werden sollen.
Im Formular die Texte also nicht konvertieren. Wenn würde ich das eher zum Speichern in die Datenbank machen (also utf8_decode), damit die Texte dann doch erst mal als latin-1 gespeichert werden.
Karsten Ude
-={ Das Mädchen für alles }=- Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Entweder im Text einfach Enter für eine neue Zeile drücken oder <br />, bzw. im Code das Sonderzeichen \n
Karsten Ude
-={ Das Mädchen für alles }=- Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!