Hallo!
Ich habe derzeit ein kleines Problemchen, dass nicht gelöst werden will. Und zwar habe ich in meiner Index erst einmal folgenden Header deklariert:
Nun habe ich ein Inputfeld, dass einen String mit Sonderzeichen beinhaltet (z.B. Spaß).
Nach drücken auf "Speichern" kommt nun folgendes prozedere:
Die Funktion "StringBereinigen" sieht wie folgt aus:
Soweit, so gut.
Problem dabei: In der Datenbank wird "spaß" geschrieben (Kollation des Feldes utf8_general_ci). Da das ersetzen von "Nicht-Sonderzeichen" (wie z.B. "S") jedoch funktioniert, liegt es schonmal nicht an der Funktion... Aber weiter habe ich keine Ahnung. Ich will nur nicht unbedingt nach "ß" suchen und ersetzen müssen...
Hat jemand einen Ratschlag?
Ich habe derzeit ein kleines Problemchen, dass nicht gelöst werden will. Und zwar habe ich in meiner Index erst einmal folgenden Header deklariert:
PHP-Code:
header('Content-Type: text/html; charset=UTF-8');
Nach drücken auf "Speichern" kommt nun folgendes prozedere:
PHP-Code:
$sql = "UPDATE table SET feld = '.StringBereinigen($_POST['inputfeld']).'";
$mysql->query($sql);
PHP-Code:
function StringBereinigen($_String) {
$_String= strtolower($_String);
$_Search = array('ä', 'ö', 'ü', 'ß');
$_Replace = array('ae', 'oe', 'ue', 'ss');
$_String= str_replace($_Search, $_Replace, $_String);
$_String= preg_replace('/[^a-z0-9]+/', '', $_String);
return($_String);
}
Problem dabei: In der Datenbank wird "spaß" geschrieben (Kollation des Feldes utf8_general_ci). Da das ersetzen von "Nicht-Sonderzeichen" (wie z.B. "S") jedoch funktioniert, liegt es schonmal nicht an der Funktion... Aber weiter habe ich keine Ahnung. Ich will nur nicht unbedingt nach "ß" suchen und ersetzen müssen...
Hat jemand einen Ratschlag?
Kommentar