Hello everyone,
I'm writing regarding the deprecation of mbstring/iconv encoding that was
voted on more than 10 years ago.

RFC: https://wiki.php.net/rfc/default_encoding

It was accepted that following INI settings were deprecated:
"iconv.input_encoding (Default: php.input_encoding)
iconv.internal_encoding (Default: php.internal_encoding)
iconv.output_encoding (Default: php.output_encoding)
mbstring.http_input (Default: php.input_encoding)
mbstring.internal_encoding (Default: php.internal_encoding)
mbstring.http_output"
+ enigmatic "all functions that take encoding option use
php.internal_encoding as default (e.g. htmlentities/mb_strlen/mb_regex/etc)"

Without INI values following functions are becoming pointless:
- iconv_set_encoding
- iconv_set_encoding
- mb_internal_encoding
- mb_http_output

Function `mb_http_input` would likely require separate RFC.

PRs[1] deprecating INI settings are already waiting for next major PHP
update, but the problem is with proper deprecation phase of those values.
There wasn't any since 5.6. So the decision of removal of those INI may be
controversial for now.

My suggestion is to properly deprecate all the INI settings + functions
using them before 9.0. The question is, does it require additional RFC, or
this may already have consensus, given the formal deprecation was agreed
upon 10 years ago, however without specified rules how it will be achieved?

Kind regards,
Jorg


[1] https://github.com/php/php-src/pull/12445

Reply via email to