Thanks for your answers, I just create the issue on the tracker : http://framework.zend.com/issues/browse/ZF-9058
After a quick search with Zend Studio's search engine, I only find this behavior on both filters Zend_Filter_StringToUpper and Zend_Filter_StringToLower. Hope this helps, Lucas Le mardi 02 février 2010 à 04:04 -0800, Pádraic Brady a écrit : > Looks like a subtle bug in that we are throwing an Exception for valid > data - the check should be made case insensitive. Can you file an > issue? I'm sure the lead dev would also appreciate it if you note any > other classes likewise impacted. > > Paddy > > Pádraic Brady > > http://blog.astrumfutura.com > http://www.survivethedeepend.com > OpenID Europe Foundation Irish Representative > > > > > ______________________________________________________________________ > From: Lucas CORBEAUX <[email protected]> > To: [email protected] > Sent: Tue, February 2, 2010 8:57:19 AM > Subject: [fw-general] Migration to 1.10.0 and setEncoding exception > > Hello there, > > As I'm working on migrating my projects into 1.10.0 I found a breaking > feature in Zend_Filter_StringToUpper (and probably in some others > filters / validators working with mbstring functions) in the > setEncoding > method. > > Here is the problem : > $encoding = (string) $encoding; > if (!in_array($encoding, mb_list_encodings())) { > require_once 'Zend/Filter/Exception.php'; > throw new Zend_Filter_Exception("The given encoding '$encoding' is > not supported by mbstring"); > } > > Now the encoding is checked, that's a great thing. But the following > guide : http://framework.zend.com/manual/1.10/en/migration.110.html > doesn't talk about this feature, which can break some project. Ok, > that's not a real problem, because in case of an incorrect encoding > mbstring functions display a warning. > > But there is, in my opinion, a real problem. Mbstring functions are > case > insensitives with the encoding param, but the following test : > > if (!in_array($encoding, mb_list_encodings())) > > Is case sensitive. > > So the following code will throw an exception : > > $filter = new Zend_Filter_StringToUpper(); > $filter->setEncoding('utf-8'); // mb_strtoupper($myString, 'utf-8') > seems to work fine... > > I'm not sure if it's a desired behavior or if it's an issue, but, at > least, I think one or two words about it in the migration guide should > be really welcome ;) > > Lucas > >
