Я просматривал несколько сообщений здесь и на форумах – однако я не могу понять это, у меня есть таблица базы данных с информацией о пользователе, а у пользователя есть несколько шведских символов – Ä
Я проследовал через несколько руководств, но, похоже, не могу сделать эту работу, моя таблица mysql имеет значение utf-8 swedish, строка выглядит следующим образом
(`username`, `password`) VALUES('ELDMÄSTARE', '0acf4539a14b3aa27deeb4cbdf6e989f')
Однако, когда я запускаю простую форму входа в PHP
<?PHP header('Content-Type: text/html; charset=utf-8'); include("config.php"); if ($_SERVER['REQUEST_METHOD'] == 'POST'){ $uname = mysql_real_escape_string(strtoupper($_POST['username'])); $pword = md5(mysql_real_escape_string($_POST['password'])); $SQL = "SELECT * FROM members WHERE username = '{$uname}' AND `password` = '{$pword}'"; $result = mysql_query($SQL); $num_rows = mysql_num_rows($result); if ($result) { if ($num_rows > 0) { $row = mysql_fetch_array($result); $_SESSION['user'] = $row; header ("Location: panel.php"); } else { $errorMessage = "Error logging on"; } } } head(); ?> <P><?= $errorMessage;?></P> <FORM NAME="form1" METHOD="POST" ACTION="index.php" accept-charset="utf-8"> <table> <tr> <td>Username</td> <td><INPUT TYPE= 'TEXT' Name='username' value="<?= $_POST['username'];?>" ></td> </tr> <tr> <td>Password</td> <td><INPUT TYPE= 'password' Name='password' value="" ></td> </tr> <tr> <td colspan="2"><INPUT TYPE = "Submit" Name = "Submit1" VALUE = "Login"></td> </tr> </table> </FORM> </body> </html>
в<?PHP header('Content-Type: text/html; charset=utf-8'); include("config.php"); if ($_SERVER['REQUEST_METHOD'] == 'POST'){ $uname = mysql_real_escape_string(strtoupper($_POST['username'])); $pword = md5(mysql_real_escape_string($_POST['password'])); $SQL = "SELECT * FROM members WHERE username = '{$uname}' AND `password` = '{$pword}'"; $result = mysql_query($SQL); $num_rows = mysql_num_rows($result); if ($result) { if ($num_rows > 0) { $row = mysql_fetch_array($result); $_SESSION['user'] = $row; header ("Location: panel.php"); } else { $errorMessage = "Error logging on"; } } } head(); ?> <P><?= $errorMessage;?></P> <FORM NAME="form1" METHOD="POST" ACTION="index.php" accept-charset="utf-8"> <table> <tr> <td>Username</td> <td><INPUT TYPE= 'TEXT' Name='username' value="<?= $_POST['username'];?>" ></td> </tr> <tr> <td>Password</td> <td><INPUT TYPE= 'password' Name='password' value="" ></td> </tr> <tr> <td colspan="2"><INPUT TYPE = "Submit" Name = "Submit1" VALUE = "Login"></td> </tr> </table> </FORM> </body> </html>
Это не работает … У кого-нибудь были бы идеи? Вывод SQL выглядит точным –
SELECT * FROM members WHERE username = 'ELDMÄSTARE' AND `password` = '0acf4539a14b3aa27deeb4cbdf6e989f'