我正在建立一个阿拉伯语网站。我希望我的用户使用他们的阿拉伯语用户名登录。我正在使用MySQL和PHP。问题是它适用于英语,但不适用于阿拉伯语用户名。
这是我的代码:
<?php
// Database info
$host = 'localhost';
$user = 'root';
$pass = '';
$database = 'my_talent';
// Connect to database
$connect = mysqli_connect($host, $user, $pass, $database);
// Character set
mysqli_query($connect, "SET NAMES 'utf8'");
mysqli_query($connect, 'SET CHARACTER SET utf8');
?>
<!DOCTYPE>
<html>
<head>
<title>Farris Website</title>
</head>
<body>
<?php
$username = $_POST['username'];
$q = mysqli_query($connect, "SELECT * FROM users WHERE username = '{$username}'");
if(mysqli_num_rows($q) > 0){
echo 'Ok';
}else{
echo 'Not';
}
?>
<form action="" method="POST">
<input type="text" name="username" />
<input type="submit" value="Submit" />
</form>
我已将数据库,表格和列设置为utf8_general_ci
请尝试使用该代码以便更好地理解。
答案 0 :(得分:0)
我找到了问题的答案......
我只需要将html_entity_decode添加到发布的值中,如下所示:
$username = html_entity_decode($_POST['username']);
到我的用户名输入。而已。现在效果很好。