0

내 암호 필드 (Zend Form)가 문자열 길이를 허용합니다. 6,20Zend 형태의 파운드 기호 (£) 길이 또는 charset 문제가 있습니까?

하지만 "전문가"(문자열 lenth 5 : 파슬)를 입력하면 "전문가" ££££ "(문자열 길이 : true) 반환 최대 lenth 오류입니다.

이 하나를 퇴치하는 데 도움이 될 수 있습니다. 그리고 미리 감사드립니다.

+1

£는 멀티 바이트 문자이므로 PHP에서 두 문자로 등록됩니다 –

답변

3

아마도 UTF-8과 같은 멀티 바이트 문자 인코딩을 사용하고있는 것 같습니다.

$validator->setEncoding("UTF-8"); 

또는 검증 오브젝트를 작성하는 동안 당신은 그것을 할 수 있습니다 : 제대로 작동하도록 명시 적으로 Zend_Validate이 알려야합니다

$validator = new Zend_Validate_StringLength(
    array('min' => 6, 'max' => 20, 'encoding' => 'UTF-8') 
); 

는 젠드 프레임 워크 매뉴얼에 Zend_Validate > Encoding of values를 참조하십시오.

+0

고마워요. 당신은 많은 시간과 노력을 덜어 줬습니다. 탁월한 젠드 프레임 워크 기술을 보유하고 있습니다. – Guru

관련 문제