2011-08-25 56 views
0

我的密碼字段(Zend的形式),允許字符串長度6.20英鎊符號(£)Zend形式的長度或字符集問題?

但是當我鍵入「大師£」(字符串lenth 5:FASLE),它是在沒有minlenth錯誤,同時返回true,如果我輸入「大師££££「(字符串長度:真)它是返回最大長度誤差。

任何一個可以幫助我改編職系這一個。並在此先多謝大師

+1

£是一個多字節字符,因此將在php –

回答

3

你似乎在使用一些多字節字符編碼,可能是UTF-8。你必須明確地告訴這Zend_Validate中,使其正常工作:

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

或者你也可以做到這一點,同時創建驗證對象:

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

Zend_Validate > Encoding of values Zend框架手冊。

+0

非常感謝你破解。你節省了我很多時間和精力。你有一個很好的zend框架技能。 – Guru