2011-04-27 2 views
0

ZendX 라이브러리를 통해 Firebird 데이터베이스에 연결된 zend 어플리케이션이 있습니다. Windows-1250 문자셋을 가지고 있습니다. zend_form을 사용하여 편집 폼을 만들고 db 값으로 채 웁니다. 분음 문자가없는 레코드에서 작동하며 데이터가 올바르게 표시되고 편집 할 수 있습니다. 특수 문자가있을 때마다 문제가 발생하며 양식 입력이 비어 있습니다.왜 zend_form은 분별 문자가있는 Firebird DB의 레코드로 입력을 채울 수 없습니까?

$form->addElement(
          'textarea', 
          'POD', 
          array(
          'value' => $this->ksiega['POD'], 
          'attribs' => array('class' => 'pod'), 
         ) 
         ); 
       $form->setElementDecorators(array(
       'ViewHelper', 
       'Errors' 
      )); 

빈 입력 필드가 표시됩니다.

<textarea name="POD" id="POD" class="pod" rows="24" cols="80"><?=$this->ksiega['POD']?></textarea> 

이 코드는 작동합니다. 여기서는 무엇을 알지 못합니까?

+0

같은 것을 사용하여보기 양식 헬퍼 ... – Piotr

답변

0

문제는 텍스트 영역에 값 속성 (?)이 없다는 것입니다.

당신이 시도 할 수 :

$elem = $form->getElement('POD'); 
$elem->setValue($this->ksiega['POD']); 
+0

아직 아무것도. $ this-> formTextarea ("ksiegi [". ​​$ ksiega [ 'ID']. "] [POD]", $ ksiega [ 'POD']); 도우미와 같은 일. Textarea는 비어 있으며 특수 문자는 채워지지 않습니다. – Piotr

+0

Zend_View_Helper_FormTextarea에서 $ this-> view-> escape ($ value) 을 찾았습니다. $ 값으로 변경되었습니다. 탈출하지 않고 작동합니다 ... 왜? – Piotr

+0

좋아, 젠드 개체에 값을 설정할 때 기본적으로 이스케이프 생각합니다. 귀하의 응답에 허용되지 않고 필터링 된 일부 코드가있을 수 있습니까? – opHASnoNAME

관련 문제