我是一個完整的mySQL & PHP noob,在我的表中,只要有撇號,它就會被替換爲''。我搜索了一下,發現它可能是因爲我的表不是UTF-8,但我將phpMyAdmin中的所有排序規則設置更改爲utf8_unicode_ci,我仍然可以看到這個。撇號替換爲mySQL表中的'
要清楚,我使用NSURLConnection將數據從iPhone應用程序發送到PHP腳本。在加載的網址中,撇號被%E2%80%99取代。我的服務器正在運行Linux。
感謝您的幫助!
我是一個完整的mySQL & PHP noob,在我的表中,只要有撇號,它就會被替換爲''。我搜索了一下,發現它可能是因爲我的表不是UTF-8,但我將phpMyAdmin中的所有排序規則設置更改爲utf8_unicode_ci,我仍然可以看到這個。撇號替換爲mySQL表中的'
要清楚,我使用NSURLConnection將數據從iPhone應用程序發送到PHP腳本。在加載的網址中,撇號被%E2%80%99取代。我的服務器正在運行Linux。
感謝您的幫助!
你必須要存儲數據之前的查詢:
SET NAMES utf8
。
顯然,這是在mysql_set_charset('utf8',$conn)
5.2+
對。如果你提到PHP的功能,我會贊成。使用'SET NAMES'查詢被認爲在PHP世界被棄用:) – BalusC 2010-09-12 17:16:54
嗯,我從來沒有跟上php。是編輯嗎? :p – 2010-09-12 17:18:33
工作。感謝您及時的回覆! – 2010-09-12 17:25:18
撇號得到了urlencoded。你將不得不在php端使用urldecode
來解碼它,然後把它放到數據庫中。
PHP默認情況下已經對它進行了url解碼。 – BalusC 2010-09-12 17:16:25
更多提示:[PHP UTF-8作弊表格](http://developer.loftdigital.com/blog/php-utf-8-cheatsheet)。 – BalusC 2010-09-12 17:17:11