在MySQL数据库中设置Zend Form中的特殊字符

时间:2013-05-28 11:10:07

标签: php mysql zend-framework zend-form

在Zend表单中如何在文本字段中设置特殊字符? 字符保存在数据库中& aacute;等等 在我的application.ini中,我使用UTF设置数据库连接:

resources.db.params.charset = "utf8"

表格设置为utf8_general_ci。 在标题中:

<meta http-equiv="Content-Type" content="text/html; charset=UTF=8" />

以下示例:

$form->getElement('title')->setValue($Row['title']);

当我打开一个网页时,它会显示&amp; aacute;就像在数据库中一样。

1 个答案:

答案 0 :(得分:1)

这不是真正的charset问题。 ZF会转义表单字段中显示的数据,但是您将已经转义的值提供给表单字段,因此转义会发生两次。这意味着&符号已更改为&amp;,这就是您所看到的转义值的原因。

如果可以,我建议存储未转义的数据(因此将数据存储在数据库中,因为您使用的是UTF-8,这样可以正常工作)。那你就不会有这个问题。或者,您可以禁用单个表单元素的转义。