2013-05-08 117 views
0

我的sql數據庫有utf8_unicode_ci排序規則,HTML有utf8(meta charset =「utf-8」)。UTF8組合PHP/MySql

當我寫在PHP中:

$query = "SELECT * FROM `subjects` WHERE `year` = '$year'"; 
$result = $mysqli->query($query); 

while($row = mysqli_fetch_array($result)){ 
    echo "<option value='" . $row['name'] . "'>" . $row['name'] . "</option>"; 
} 

代替čćšđ我得到一些瘋狂的喜歡價值觀?...

回答

3

添加

mysql_query("SET NAMES 'utf8'"); 
mysql_query("SET CHARACTER SET 'utf8_general_ci'"); 

$query = "SELECT * FROM `subjects` WHERE `year` = '$year'"; 
+0

所以這2個查詢使用...他們只有一次,然後刪除... – 2013-05-08 19:59:51

+1

@PauliusMarčiukaitis在'mysql連接'之後放置查詢將作爲GLOBAL到mysql – 2013-05-08 20:01:33

3

對您的HTML或PHP文件進行編碼到UTF-8。大多數編輯可能。更重要的是你的代碼,如果你想用更少的代碼使用,使其(我想你只需要ASSOC值)

while($row = $result->fetch_assoc()) 

,而不是

while($row = mysqli_fetch_array($result)) 
+0

+投票指向這個'while($ row = $ result-> fetch_assoc())'out – ROMMEL 2013-05-08 20:00:57