我试图从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