Seite 1 von 1

String mit Sonderzeichen richtig in die Datenbank schreiben

Verfasst: 20.06.2011 14:44
von Eisvogel
Hallo

Ich schreibe mir grad eine eigene MOD und da will ist String mit Sonderzeichen in der Datenbank ablegen. Das klappt nicht. Sonderzeichen werden immer mit "??" in der Datenbank dargestellt. Der String kommt von einem Formular über POST angetanzt und wird mit request_Var abgefragt. Beim durchforsten der phpBB eigenen Module hab ich "utf8_normalize_nfc" gefunden, jedoch hat auch das keine Wirkung. Was muss ich mit dem doofen String machen, damit er richtig geschrieben wird und später auch wieder richtig gelesen werden kann?

MfG
Der Eisvogel

Re: String mit Sonderzeichen richtig in die Datenbank schrei

Verfasst: 20.06.2011 17:47
von BNa
Schreiben

in Datenbank (und da dann $string benutzen)

Code: Alles auswählen

$string = utf8_normalize_nfc(request_var('deine_post_var', '', true)); 
Wichtig is hier true wegen der Multibyte-Fähigkeit (Sonderzeichen etc.)

Alternativ bei Problemen (var splitting)

Code: Alles auswählen

$string = request_var('deine_post_var', '', true); 
$string = utf8_normalize_nfc("$string"); 
Du kannst $string alternativ auch ohne " Anführungsszeichen probieren. Ich mach das immer mit.

Lesen

Normal als Datenbank Abfrage Output.

Wichtig ist auch, das die Eingabe- und Ausgabe-Template Seite des Formulars *.html auch utf8 kodiert ist,
was in phpbb3 Standardseiten gegeben sein sollte.

Re: String mit Sonderzeichen richtig in die Datenbank schrei

Verfasst: 20.06.2011 18:16
von Eisvogel
Das true war der entscheidende Teil. Danke dir.