Hi zusammen,
ich versuche eine Benutzereingabe über MySQL zu verarbeiten, im HTTP Header habe ich angegeben, dass alles per UTF-8 gesendet werden soll (MySQL ist auch auf UTF-8 eingestellt). Klappt soweit auch, wenn man allerdings den Browser manuell auf ISO-8859-1 umstellt stürzt MySQL mit einer Fehlermeldung ab (Illegal mix of collations (latin1_german1_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE)), bzw. in einem anderen Fall speichert MySql die Daten nur, bis zum ersten unbekannten Zeichen (z.B. ł wenn ISO-8859-2 im Browser eingestellt ist)
1. Jetzt habe ich versucht, über mb_detect_encoding($string) herauszufinden, in welchem Encoding die Daten gesendet werden. Dieser behauptet aber beispielsweise beim Text "après" immer es wäre UTF-8, was eine Konvertierung natürlich unmöglich macht. Wie bewerkstellige ich es, dass er erkennt, ob dieser String im Encoding UTF-8 oder ISO-8859-1 abgesendet wurde?
2. Oder gibt es ferner eine sichere Möglichkeit zu erzwingen, dass alles in UTF-8 gesendet wird?
3.
ist mir bekannt, hilft aber leider in diesem Fall nicht.
habe ich noch entdeckt, aber erkennt das jeder Browser?
Ich würde mich freuen wenn mir jemand ein paar Hinweise, Tutorials oder Funktionen aufzeigen kann, die diese Probleme behandeln.
ich versuche eine Benutzereingabe über MySQL zu verarbeiten, im HTTP Header habe ich angegeben, dass alles per UTF-8 gesendet werden soll (MySQL ist auch auf UTF-8 eingestellt). Klappt soweit auch, wenn man allerdings den Browser manuell auf ISO-8859-1 umstellt stürzt MySQL mit einer Fehlermeldung ab (Illegal mix of collations (latin1_german1_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE)), bzw. in einem anderen Fall speichert MySql die Daten nur, bis zum ersten unbekannten Zeichen (z.B. ł wenn ISO-8859-2 im Browser eingestellt ist)
1. Jetzt habe ich versucht, über mb_detect_encoding($string) herauszufinden, in welchem Encoding die Daten gesendet werden. Dieser behauptet aber beispielsweise beim Text "après" immer es wäre UTF-8, was eine Konvertierung natürlich unmöglich macht. Wie bewerkstellige ich es, dass er erkennt, ob dieser String im Encoding UTF-8 oder ISO-8859-1 abgesendet wurde?
2. Oder gibt es ferner eine sichere Möglichkeit zu erzwingen, dass alles in UTF-8 gesendet wird?
3.
HTML-Code:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
HTML-Code:
<form name="formular" accept-charset="UTF-8">
Ich würde mich freuen wenn mir jemand ein paar Hinweise, Tutorials oder Funktionen aufzeigen kann, die diese Probleme behandeln.
Kommentar