This is an old revision of the document!
PHP RFC: Unbundle ext/recode
- Version: 0.1
- Date: 2019-06-14
- Author: Christoph M. Becker, cmb@php.net
- Status: Under Discussion
- First Published at: https://wiki.php.net/rfc/unbundle_recode
Introduction
ext/recode facilitates conversion between different character sets/encodings. This functionality is basically already supported by ext/iconv and ext/mbstring. While the two latter extensions rely on POSIX iconv support or libiconv, and the bundled libmbfl, respectively, ext/recode relies on the Recode library which is decomissioned and had its latest release on 22 January 2001.
Even worse, at least according to our documentation the latest version (3.6.0) has unresolved issues, so we recommend using Recode 3.5, which is unlikely to be still provided by contemporary OS distributions. Furthermore, the PHP manual mentions collisions with some other extensions, which appear to be still unresolved.
Proposal
For the reasons mentionend in the introduction section, I propose to unbundle ext/recode.
Backward Incompatible Changes
Obviously, code using ext/recode would either have to be ported to use ext/iconv or ext/mbstring instead, or such code
Proposed PHP Version(s)
The unbundling should be done for PHP 7.4.
Open Issues
Make sure there are no open issues when the vote starts!
Proposed Voting Choices
Unbundle ext/recode: yes or no.
Patches and Tests
No patch required.
Implementation
After the project is implemented, this section should contain
- the version(s) it was merged into
- a link to the git commit(s)
- a link to the PHP manual entry for the feature
- a link to the language specification section (if any)
References
Rejected Features
Keep this updated with features that were discussed on the mail lists.