如何让Zend_Form在文本元素中显示特殊字符?

时间:2010-12-27 18:25:48

标签: zend-framework zend-form iso-8859-1

我正在使用Zend_Form子类来添加和编辑数据库中的记录。布局有iso-8859-1编码和字符集。表记录使用latin1_spanish_ci排序规则 当记录包含特殊字符(如重音符号)时,表单输入文本元素根本不显示任何内容。如果没有特殊字符,则表单输入文本元素将正确显示记录。奇怪的是,当特殊字符出现在文本输入字段之外时,它们会正确显示,例如在Html标题2或段落内。

我尝试在application.ini中插入以下内容:

resources.db.params.charset=iso-8859-1  

但是我收到一条错误消息:

SQLSTATE[42000] [1115] Unknown character set: 'iso-8859-1'  

我也试过以同样的方式将db charset更改为utf8。表单文本元素显示字符串,但我得到奇怪的字符而不是原始字符。

我几乎尝试过任何事情,但我还没有解决问题。看来用Zend_Form生成的文本输入元素讨厌拉丁字符。

你有同样的问题吗?

1 个答案:

答案 0 :(得分:2)

我在zf论坛中找到了这个简单的解决方案:
将以下内容添加到bootstrap.php中的_initView函数中,并忘记其他所有内容:

$view->setEncoding('iso-8859-1');