Zend格式中的磅符号(£)长度或字符集问题


Pound symbol (£) length or charset problem in Zend form ?

我的密码字段(Zend Form)允许字符串长度为6,20

但是当我输入"guru£"(字符串长度5:fasle)时,它返回true,没有最小长度错误,同时如果我输入"guru£££"(字符串长度:true),它返回最大长度错误。

谁能帮我改一下这个?和提前感谢- guru

您似乎正在使用一些多字节字符编码,可能是UTF-8。您必须显式地将此告知Zend_Validate,以便它正确工作:

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

或者您可以在创建验证器对象时执行:

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

参见Zend_Validate> Zend Framework手册中值的编码

您是否使用Zend Validation类?

http://framework.zend.com/manual/en/zend.validate.set.html

我认为特别值得注意的是使用不同的语言部分