PHP MySQL登录无法识别Ü,Ä,Ö

时间:2020-05-13 06:07:24

标签: php mysql

我具有以下脚本作为登录名:

//======================================================================
// LOGIN
//======================================================================
if (mysqli_real_escape_string($mysqli, $_GET['handler']) == "login") {

    $User     = mysqli_real_escape_string($mysqli, $_GET['param2']);
    $Password = mysqli_real_escape_string($mysqli, $_GET['param3']);
    $result   = $mysqli->query("SELECT * FROM ".$Usr." WHERE Benutzer = '" . $User . "' AND Passwort = '" . $Password . "'");
    if ($result->num_rows == 0) {
        echo "Not found"; //Not successfully
    } else {
        echo "Found!"; //Successful
    }
}

好吧,但是有效。.当我的表中有一个用户“jürgen”时,我的登录名始终返回“ Found” 输入jürgen或jurgen。因此,ü与u甚至是不正确的。 我试图更改PHP文件顶部的字符集:

$mysqli     = new mysqli($servername, $username, $password, $db);
$mysqli->set_charset("utf8");

没有成功。当我更改其他字符时,它返回“找不到”,因此必须是u /ü。 我该如何解决?

1 个答案:

答案 0 :(得分:0)

我修复了它。 我不得不将数据库更改为utf8mb4_german2_ci,现在可以正常工作了:)