Bug #72992 [Com]: mbstring.internal_encoding doesn't inherit default_charset

From: Date: Fri, 09 Sep 2016 11:38:00 +0000
Subject: Bug #72992 [Com]: mbstring.internal_encoding doesn't inherit default_charset
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-203909@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=72992&edit=1

 ID:                 72992
 Comment by:         zoeslam at gmail dot com
 Reported by:        zoeslam at gmail dot com
 Summary:            mbstring.internal_encoding doesn't inherit
                     default_charset
 Status:             Closed
 Type:               Bug
 Package:            mbstring related
 Operating System:   Ubuntu 16.04
 PHP Version:        7.0.10
 Assigned To:        yohgaki
 Block user comment: N
 Private report:     N

 New Comment:

Hi, I recompiled from source with your commit, but nothing changed.

Could you explain me better your comment about INI settings?

If I read the manual at http://php.net/manual/en/mbstring.configuration.php#ini.mbstring.internal-encoding
I assume that, when every setting is left empty except "default_charset", MB will use
"default_charset" value for the internal encoding, isn't so?

If it is so, the bug is still present


Previous Comments:
------------------------------------------------------------------------
[2016-09-08 04:57:19] yohgaki@php.net

Automatic comment on behalf of yohgaki
Revision: http://git.php.net/?p=php-src.git;a=commit;h=8bbd0952e5bba88426bac1596dcc3bfa504dbe4e
Log: Fix Bug #72992 mbstring.internal_encoding doesn't inherit default_charset

------------------------------------------------------------------------
[2016-09-08 04:14:12] yohgaki@php.net

INI could be propagated, but it's not necessary. If higher precedence INI is set, lower
precedence INI is not set, higher is used.

I'll commit fix for logical error part only.

------------------------------------------------------------------------
[2016-09-08 04:12:21] yohgaki@php.net

The following patch has been added/updated:

Patch Name: bug72992.patch
Revision:   1473307940
URL:        https://bugs.php.net/patch-display.php?bug=72992&patch=bug72992.patch&revision=1473307940

------------------------------------------------------------------------
[2016-09-01 12:00:48] zoeslam at gmail dot com

Description:
------------
Likely related to https://bugs.php.net/bug.php?id=70035 but
internal_encoding is now deprecated

php -d default_charset='ISO-8859-1' -i | grep -E '(charset|encoding)'

default_charset => ISO-8859-1 => ISO-8859-1
input_encoding => no value => no value
internal_encoding => no value => no value
output_encoding => no value => no value
zend.script_encoding => no value => no value
iconv.input_encoding => no value => no value
iconv.internal_encoding => no value => no value
iconv.output_encoding => no value => no value
HTTP input encoding translation => disabled
mbstring.encoding_translation => Off => Off
mbstring.internal_encoding => no value => no value

Test script:
---------------
php -d default_charset='ISO-8859-1' -r 'var_dump(mb_internal_encoding());'
php -r 'ini_set("default_charset", "ISO-8859-1");
var_dump(mb_internal_encoding());'

Expected result:
----------------
string(10) "ISO-8859-1"
string(10) "ISO-8859-1"

Actual result:
--------------
string(5) "UTF-8"
string(5) "UTF-8"


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



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


Thread (19 messages)

« previous php.bugs (#203909) next »