2014-02-27 117 views
-2

我使用MySQL 5.5版本MySQL&PHP特殊字符問題

當我嘗試在數據庫中插入'特殊字符時,它會自動轉換爲'。

我將數據庫字符集更改爲utf8 & character_set_connection to utf8但我無法獲得預期的結果。

如何解決這個問題?

好心幫這個

回答

0

你需要檢查你是如何發送數據。 如果數據庫中的字符集是utf-8,則需要像這樣發送。

嘗試之前的數據進行編碼,這樣的:

$sql = "INSERT INTO tablex(field) VALUES('".utf8_encode($mydata)."')"; 
-2

重要的是要確保您連接的每個部分都使用UTF-8是非常重要的,否則你will遇到問題。

下面我們將創建一個到數據庫的utf8連接,執行set names這非常重要,然後使用utf8_encode方法編寫。

mysql_connect("host", "user", "pass"); 
mysql_query("SET character_set_results=utf8"); 
mysql_set_charset('utf8'); 
mb_internal_encoding('UTF-8'); 
mysql_select_db("my_db"); 
mysql_query("set names 'utf8'"); 

$sql = "INSERT INTO `table`(`foo`) VALUES('".utf8_encode($bar)."')"; 
+1

雖然這可能是正確的,解釋將是有益的。 –