我試圖從CakePHP中的窗體中將一些值保存到MySQL數據庫中,並且當值進入數據庫時,它們將獲得HTML編碼。CakePHP將值作爲HTML編碼值保存到MySQL數據庫
因此,像(#45)這樣的東西被存儲在數據庫中作爲(#45 )然後當有人試圖返回並編輯表單時,他們會看到所有額外的字符。
我已經嘗試設置數據庫連接上的編碼爲utf8這樣的:
private $production = array(
'driver' => 'mysql',
'persistent' => true,
'host' => 'localhost:3306',
'login' => '',
'password' => '',
'database' => 'db',
'prefix' => '',
'encoding' => 'utf8'
);
和我的配置有這一套:
Configure::write('App.encoding', 'UTF-8');
,也添加到了我的默認佈局:
echo $html->charset();
任何想法?
什麼是喜歡當值你在發佈的數據上做一個print_r?它們在到達您的應用程序之前或之後是否會發生變化?我的猜測是,你可以拋出一個HTML解碼方法來解決這個問題,但我不是100%。 – 2010-08-18 21:51:37
不幸的是,發佈的數據是通過沒有html編碼,它必須在更遠的地方。 – Nick 2010-08-18 22:01:18
你嘗試過'html_entity_decode()' – 2010-08-19 12:40:49