ID:               32062
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Assigned
+Status:           Feedback
 Bug Type:         mbstring related
 Operating System: *
 PHP Version:      5CVS, 4CVS (2005-02-22)
 Assigned To:      hirokawa
 New Comment:

mbstring (libmbfl) uses strcasecmp() which depends on the locale.
If the specified locale is not supported in the system,
encoding match fails.
It is not the problem of mbstring, but it is the problem of 
system setting.





Previous Comments:
------------------------------------------------------------------------

[2005-12-21 23:24:01] [EMAIL PROTECTED]

Rui, check this too if you don't mind. :)

------------------------------------------------------------------------

[2005-02-22 16:17:51] [EMAIL PROTECTED]

Right, there were typos. The reproduce code should've 
been

<?php
setlocale(LC_CTYPE, 'de_DE.ISO-8859-1');

var_dump(mb_convert_encoding('a', 'utf-8', 'iso-8859
-1'));
var_dump(mb_convert_encoding('a', 'UTF-8', 'ISO-8859
-1'));

setlocale(LC_CTYPE, 'tr_TR.ISO-8859-9');

var_dump(mb_convert_encoding('a', 'utf-8', 'iso-8859
-1'));
var_dump(mb_convert_encoding('a', 'UTF-8', 'ISO-8859
-1'));
?>

------------------------------------------------------------------------

[2005-02-22 15:25:03] [EMAIL PROTECTED]

tr_TR == Turkish, and ISO-8859-1 is not a valid character set of that
locale, no?

------------------------------------------------------------------------

[2005-02-22 06:55:52] [EMAIL PROTECTED]

Description:
------------
mbstring fails to match encoding name against any one of 
the supported encodings with some locale settings.

Irrelevant to bug #29955.

Reproduce code:
---------------
<?php
setlocale(LC_CTYPE, 'tr_TR.ISO-8859-1');

var_dump(mb_convert_encoding('abc', 'utf-8', 'iso-8859-1'));
var_dump(mb_convert_encoding('abc', 'UTF-8', 'ISO-8859-1'));

setlocale(LC_CTYPE, 'tr_TR.ISO-8859-9');

var_dump(mb_convert_encoding('abc', 'utf-8', 'iso-8859-1'));
var_dump(mb_convert_encoding('abc', 'UTF-8', 'ISO-8859-1'));
?>

Expected result:
----------------
string(1) "a"
string(1) "a"
string(1) "a"
string(1) "a"

Actual result:
--------------
string(1) "a"
string(1) "a"

Warning: mb_convert_encoding(): Illegal character 
encoding specified in %s on line %d
string(1) "a"
string(1) "a"


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=32062&edit=1

Reply via email to