2011-01-19 94 views
0

我有一個utf-8編碼的頁面。 Mysql設置爲utf8_general_ci。 下面是該查詢:php mysql查詢編碼問題

mysql_query("SET CHARACTER SET utf8_general_ci"); 

       $query = "INSERT INTO newsbox VALUES ('null', '$zaglavie', '$nom_file_big', '$den', '$mesec', '$godina', '$zaglavie2', '$text', '$zaglavie3')"; 
       $result = mysql_query($query) or die(mysql_error()); 

和西里爾輸入文本插入像?????。可能是什麼問題呢。

回答

1

我不確定mysql_query(「SET ..」)是否按預期工作。嘗試使用mysql_set_charset()設置字符集。 你確定文本是這樣插入的嗎?如果你使用的CLI客戶端的錯誤字符集,顯示輸出也可能是錯誤的(也可能通過mysql_fetch _ *()進行檢索)。

6

我傾向於發現解決事情很多;

mysql_query("SET NAMES 'utf8'"); 

在執行任何查詢之前。

的文檔建議您使用mysql_set_charset,但我經常看到的功能缺失。

if(function_exists('mysql_set_charset')){ 
    mysql_set_charset('utf8', $db_con); 
}else{ 
    mysql_query("SET NAMES 'utf8'", $db_con); 
} 
+1

哇這對我工作!任何想法爲什麼我不需要過去這樣做? – Allen 2013-06-11 14:49:31

+0

我想這取決於你過去的環境設置 - 也許你很幸運。 – 2013-06-11 21:04:56