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