I have a problem. Im sitting on that problems since hours and I cant find any solution.
I changed Database Character Set and Collation to UTF8 - not working.
When I insert normal letters its working but if one umlaut is in the input, the input is empty in database.
Code:
if(isset($_POST['submitSecurityQuestions'])){
$securityQuestion1 = $_POST['securityQuestion1'];
$securityQuestion2 = $_POST['securityQuestion2'];
$securityAnswer1 = $_POST['securityAnswer1']);
$securityAnswer2 = $_POST['securityAnswer2'];
if(empty($securityAnswer1) || empty($securityAnswer2))
{
$msg = "Du hast nicht alles ausgefüllt!";
} else {
if($securityAnswer1 < '4' || $securityAnswer2 < '4') {
$msg = "Du musst mindestens 4 Zeichen eingeben!";
} else {
mysql_query("UPDATE users SET securityQuestions = '1' WHERE id = '".$user->id."' LIMIT 1") or die(mysql_error());
mysql_query("INSERT INTO `users_securityquestions` (`securityQuestion1`, `securityQuestion2`, `securityAnswer1`, `securityAnswer2`, `createdTime`, `createdIP`, `createdUserAgent`, `active`, `userID`) VALUES ('".$securityQuestion1."', '".$securityQuestion2."', '".$securityAnswer1."', '".$securityAnswer2."', '".$time."', '".$ip."', '".$user_agent."', '1', '".$user->id."');") or die(mysql_error());
header('location:'.$_SERVER['PHP_SELF']);
}
} }
I also tryed that Filter:
function FilterText($str) {
if(get_magic_quotes_gpc()){ $str = stripslashes($str); }
$str = preg_replace(array('/\x{0001}/u','/\x{0002}/u','/\x{0003}/u','/\x{0005}/u','/\x{0009}/u'),' ',$str);
$str = mysql_real_escape_string($str);
return $str;
}
How can I insert Umlauts like ä or ü into database? I'm using MySQL.
Thanks!