2012-01-24 48 views
0

我已經看過這裏和論壇上的幾個帖子 - 但是我無法弄清楚這一點,我有數據庫表與用戶信息和用戶名有一些瑞典字符 - Ä瑞典語字符和登錄表格PHP/MYSQL

我已經按照通過一些引導,但似乎無法使這項工作的任何方式,我的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

檢查像這樣的查詢

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

了這Saulius前的情況? – makriria