我在网站上的任何地方都使用UTF-8,数据也以UTF-8的形式返回,它可以在页面的任何地方使用,除了一种情况:(zend)表单值。
我检查了所有内容,字符串是utf-8,页面编码是utf-8,Api的结果是utf8。
(Margar\u00e9t\u00e1\u00f3\u0171\u00fa\u0151\u00fc\u00f6)
这就是我在div中以及标题中看到的内容:
Margarétáóűúőüö
这就是我在表格中得到的结果:
Margarétáóűúőüö
我尝试了许多事情,utf8_encode
,mb_convert_encoding
,但没有发生任何事情。
我使用了帮手,$ name包含'Margarétáóűúőüö'的价值:
$form = $this->_helper->form('user-settings');
$form->addElement('text', 'name', array(
'label' => 'Name',
'value' => $name,
'required' => true,
'autocapitalize' => 'off',
'autocorrect' => 'off',
));
答案 0 :(得分:0)
我刚才意识到,我们使用partialLoop + form helper来获取子表单。不幸的是,我们在其中使用了一个DOM,saveHTML()
中的DOM
函数有点儿错误,不能很好地处理UTF-8字符。
当我删除这个子表单并使用$ form = new Form_UserSettingsForm($ user)时;直接,它运作良好。
在代码中的任何位置使用$ dom-> saveHTML()函数时要小心!