在進一步的文字,我會參考一些字符作爲正確的UTF字符,這是UTF-8編碼的字符在它的確定形式(á
)和不正確UTF字符,這是相同的,但搞砸了utf-8字符(例如顯示爲ý
)。奇怪的UTF-8甲基苯丙胺問題
所以,有CMS上運行MAMP - 這是本地開發的網站,客戶端。現在,在管理中,我輸入正確的utf-8字符。在本地主機上瀏覽時,它顯示爲正確的utf-8字符。但是,在utf-8編碼的mysql中,它顯示爲不正確的utf-8字符(在Sequel Pro/phpMyAdmin中)。
當數據庫被轉移到臨時/ dev的服務器,這在MAMP工作非常相同的DB,停止工作,並顯示爲不正確的 - 就像他們在MAMP輸入。
不過,如果我打開臨時服務器,輸入正確的字符在管理(非常相同的代碼),他們不僅顯示正常,但他們也保存在MySQL作爲正確的字符。
實際上,我震驚了 - 非常相同的代碼,非常相同的數據庫,它仍然以不同的方式表現。
你有沒有發現類似的東西,即你能饒了我的認真細緻地翻着幾百萬不同的切入點,其中UTF-8可以搞砸了的痛苦。
P.S:我認爲這可能是甲基苯丙胺相關的(奇怪的UTF-8的設置),而不是嚴格的應用程序相關。 P.S .:應用程序使用MySQLi,每個文件都是UTF-8編碼:/唯一不同的是,在mamp上我只使用host/user mysql連接,而在分段db套接字引入時。
謝謝。
查看服務器和客戶端的默認編碼設置。例如,在連接到數據庫以在運行時設置客戶端編碼後,您可以在代碼中運行「SET NAMES utf8」。 – Fanis 2011-01-13 20:40:53