我使用的CakePHP與App.encoding設置爲UTF-8,<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
存在於我的<head>
和我的MySQL數據庫設置爲UTF-8 Unicode編碼和utf8_general_ci整理。我在我的database.php連接細節中也有"encoding"=>"UTF8"
。爲什麼我必須utf8_decode()我的MySQL列值才能正確顯示?
當我在數據庫表中存儲'£'符號並使用命令行MySQL查看它時,字符顯示正確。
如果我使用CakePHP從數據庫表中獲取行並在我的網站中輸出它們,我會看到£
而不是我想要的£
符號。
但是,如果我然後使用utf8_decode()
來輸出我的數據,它顯示正確。
這是正確的嗎?我曾嘗試使用htmlentities()將英鎊符號轉換爲£
,但它輸出£
而不是!即使當我使用字符集的附加參數。
也許有人可以幫忙 - 我一定錯過了這裏的東西,但我認爲角色應該正確顯示(如textarea HTML標籤),如果所有的標題,元標記等一致UTF-8?
是什麼領域的數據庫編碼? – petervaz
它顯示爲utf8_general_ci(utf8)當我運行'show full columns in t' – BeesonBison
它可能是關閉正向斜槓在元標記的末尾,我以前遇到過問題。看看是否刪除它可以解決您的問題。 –