瑞典语字符和登录表格PHP/MYSQL [英] Swedish characters and login forms PHP/MYSQL

查看:88
本文介绍了瑞典语字符和登录表格PHP/MYSQL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在这里和论坛上浏览了几篇文章-但是我无法弄清楚,我有带有用户信息的数据库表,而用户名有一些瑞典字符-Ä

I've had a look through several posts here and on forums - however I can't figure this out, I have database table with user info and the username has some swedish characters - Ä

我已经按照一些指南进行了操作,但是似乎无法使它正常工作,我的mysql表设置为utf-8 swedish,行如下所示

I've followed through a few guides but can't seem to make this work any way, my mysql table is set to utf-8 swedish, row looks like the following

(`username`, `password`) VALUES('ELDMÄSTARE', '0acf4539a14b3aa27deeb4cbdf6e989f')

但是,当我运行简单的PHP登录表单

However when I run simple PHP login form

<?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输出似乎很好-

It doesn't work... Anyone would have any ideas? The SQL output appears to be fine -

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

推荐答案

在查询之前检查类似的内容

Check something like this before the query

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');

这篇关于瑞典语字符和登录表格PHP/MYSQL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆