2010-09-12 94 views
0

我是一個完整的mySQL & PHP noob,在我的表中,只要有撇號,它就會被替換爲''。我搜索了一下,發現它可能是因爲我的表不是UTF-8,但我將phpMyAdmin中的所有排序規則設置更改爲utf8_unicode_ci,我仍然可以看到這個。撇號替換爲mySQL表中的'

要清楚,我使用NSURLConnection將數據從iPhone應用程序發送到PHP腳本。在加載的網址中,撇號被%E2%80%99取代。我的服務器正在運行Linux。

感謝您的幫助!

+0

更多提示:[PHP UTF-8作弊表格](http://developer.loftdigital.com/blog/php-utf-8-cheatsheet)。 – BalusC 2010-09-12 17:17:11

回答

3

你必須要存儲數據之前的查詢:

SET NAMES utf8

顯然,這是在mysql_set_charset('utf8',$conn) 5.2+

+0

對。如果你提到PHP的功能,我會贊成。使用'SET NAMES'查詢被認爲在PHP世界被棄用:) – BalusC 2010-09-12 17:16:54

+0

嗯,我從來沒有跟上php。是編輯嗎? :p – 2010-09-12 17:18:33

+0

工作。感謝您及時的回覆! – 2010-09-12 17:25:18

0

撇號得到了urlencoded。你將不得不在php端使用urldecode來解碼它,然後把它放到數據庫中。

+0

PHP默認情況下已經對它進行了url解碼。 – BalusC 2010-09-12 17:16:25