Шведские символы и формы входа PHP / MYSQL - PullRequest
0 голосов
/ 25 января 2012

Я просмотрел несколько сообщений здесь и на форумах - однако я не могу понять это, у меня есть таблица базы данных с информацией о пользователе, а в имени пользователя есть некоторые шведские символы - Ä

Я выполнил несколько руководств, но, похоже, никак не могу это сделать, моя таблица mysql настроена на шведский язык utf-8, строка выглядит следующим образом

(`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>

Это не работает ... У кого-нибудь есть идеи? Вывод SQL выглядит нормально -

SELECT * FROM members WHERE username = 'ELDMÄSTARE' AND `password` = '0acf4539a14b3aa27deeb4cbdf6e989f'

1 Ответ

1 голос
/ 25 января 2012

Отметьте что-то вроде этого перед запросом

mysql_query('SET character_set_results=utf8');
mysql_query('SET names=utf8');
mysql_query('SET character_set_client=utf8');
mysql_query('SET character_set_connection=utf8');
mysql_query('SET character_set_results=utf8');
mysql_query('SET collation_connection=utf8_general_ci');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...