我正在使用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生成的文本输入元素讨厌拉丁字符。
你有同样的问题吗?
答案 0 :(得分:2)
我在zf论坛中找到了这个简单的解决方案:
将以下内容添加到bootstrap.php中的_initView
函数中,并忘记其他所有内容:
$view->setEncoding('iso-8859-1');