0

Zend Form で問題に直面しています。何らかの理由で、ドイツ語の特殊文字を含む単語がドロップボックスに表示されません。この部分的なコードを使用しているフォームの場合:

 $country_to = new Zend_Form_Element_Select('country_to');
    $country_to->setLabel('Traveling To (Country)')
            ->addMultiOptions($this->country_list);

そして、私はこのようにDBから取得しています:

protected $country_list = array();
protected function getCountryValues()
{
    $mapper = new Application_Model_Mapper_Resource();
    $resources = $mapper->fetchAllCountries();

    $this->country_list[''] = '';
    foreach($resources as $resource){
        $this->country_list[$resource->getName()] = $resource->getName();
    }
}

そして、私が得ている結果はこれです: ここに画像の説明を入力

country_list をダンプしましたが、実際にはすべてのデータが含まれていますが、フォームには表示されません!

4

1 に答える 1

0

私は解決策を見つけました、それはかなり簡単でした。zend によるデフォルトのエスケープを無効にする必要があります。これをフォームの先頭に追加するだけでうまくいきました:

$this->getView()->setEscape('stripslashes');
于 2012-09-19T13:16:55.053 に答える