PHP RFC: Unbundle ext/recode


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.


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.


Voting starts on 2019-06-28 and ends on 2019-07-12.

Unbundle ext/recode
Real name Yes No
ashnazg (ashnazg)  
bishop (bishop)  
bwoebi (bwoebi)  
carusogabriel (carusogabriel)  
cmb (cmb)  
daverandom (daverandom)  
derick (derick)  
emir (emir)  
galvao (galvao)  
gasolwu (gasolwu)  
girgias (girgias)  
jasny (jasny)  
jhdxr (jhdxr)  
kalle (kalle)  
kinncj (kinncj)  
krakjoe (krakjoe)  
mbeccati (mbeccati)  
mike (mike)  
nikic (nikic)  
ocramius (ocramius)  
peehaa (peehaa)  
petk (petk)  
pmjones (pmjones)  
ramsey (ramsey)  
reywob (reywob)  
rjhdby (rjhdby)  
rtheunissen (rtheunissen)  
salathe (salathe)  
santiagolizardo (santiagolizardo)  
sebastian (sebastian)  
sergey (sergey)  
stas (stas)  
subjective (subjective)  
svpernova09 (svpernova09)  
thorstenr (thorstenr)  
trowski (trowski)  
wjx (wjx)  
yunosh (yunosh)  
Final result: 38 0
This poll has been closed.

Patches and Tests

No patch required.


  1. applied to PHP-7.4 and up
  2. Documentation updated


rfc/unbundle_recode.txt · Last modified: 2019/07/12 12:37 by cmb