From: josmessa at uk dot ibm dot com
Operating system: Windows XP SP2
PHP version: 5.2CVS-2008-01-31 (snap)
PHP Bug Type: mbstring related
Bug description: Two error messages returned for incorrect encoding for
mb_strto[upper|lower]
Description:
------------
When an incorrect or unknown encoding is passed to mb_strto[upper|lower]
two error messages are returned which both are warning about the same
thing.
In some cases, one error message is returned as well as an
upper/lowercased string, but this behaviour is not documented.
Reproduce code:
---------------
<?php
$sourcestring = 'Hello, World';
$inputs = array(12345, 12.3456789000E-10, true, false, "");
$iterator = 1;
foreach($inputs as $input) {
echo "\n-- Iteration $iterator --\n";
var_dump( mb_strtolower($sourcestring, $input) );
var_dump( mb_strtoupper($sourcestring, $input) );
$iterator++;
};
?>
Expected result:
----------------
Only one error message should be returned for iterations 1-3
Actual result:
--------------
-- Iteration 1 --
Warning: mb_strtolower(): Illegal character encoding specified in
...\mb_strtolower.php on line 8
Warning: mb_strtolower(): Unknown encoding "12345" in
...\mb_strtolower.php on line 8
bool(false)
Warning: mb_strtoupper(): Illegal character encoding specified in
...\mb_strtolower.php on line 9
Warning: mb_strtoupper(): Unknown encoding "12345" in
...\mb_strtolower.php on line 9
bool(false)
-- Iteration 2 --
Warning: mb_strtolower(): Illegal character encoding specified in
...\mb_strtolower.php on line 8
Warning: mb_strtolower(): Unknown encoding "1.23456789E-9" in
...\mb_strtolower.php on line 8
bool(false)
Warning: mb_strtoupper(): Illegal character encoding specified in
...\mb_strtolower.php on line 9
Warning: mb_strtoupper(): Unknown encoding "1.23456789E-9" in
...\mb_strtolower.php on line 9
bool(false)
-- Iteration 3 --
Warning: mb_strtolower(): Illegal character encoding specified in
...\mb_strtolower.php on line 8
Warning: mb_strtolower(): Unknown encoding "1" in ...\mb_strtolower.php on
line 8
bool(false)
Warning: mb_strtoupper(): Illegal character encoding specified in
...\mb_strtolower.php on line 9
Warning: mb_strtoupper(): Unknown encoding "1" in ...\mb_strtolower.php on
line 9
bool(false)
-- Iteration 4 --
Warning: mb_strtolower(): Illegal character encoding specified in
...\mb_strtolower.php on line 8
string(12) "hello, world"
Warning: mb_strtoupper(): Illegal character encoding specified in
...\mb_strtolower.php on line 9
string(12) "HELLO, WORLD"
-- Iteration 5 --
Warning: mb_strtolower(): Illegal character encoding specified in
...\mb_strtolower.php on line 8
string(12) "hello, world"
Warning: mb_strtoupper(): Illegal character encoding specified in
...\mb_strtolower.php on line 9
string(12) "HELLO, WORLD"
--
Edit bug report at http://bugs.php.net/?id=43998&edit=1
--
Try a CVS snapshot (PHP 4.4):
http://bugs.php.net/fix.php?id=43998&r=trysnapshot44
Try a CVS snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=43998&r=trysnapshot52
Try a CVS snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=43998&r=trysnapshot53
Try a CVS snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=43998&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=43998&r=fixedcvs
Fixed in release:
http://bugs.php.net/fix.php?id=43998&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=43998&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=43998&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=43998&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=43998&r=support
Expected behavior: http://bugs.php.net/fix.php?id=43998&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=43998&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=43998&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=43998&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=43998&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=43998&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=43998&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=43998&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=43998&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=43998&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=43998&r=mysqlcfg