LXXXVII. GNU Recode functions


This module contains an interface to the GNU Recode library, version 3.5. The GNU Recode library converts files between various coded character sets and surface encodings. When this cannot be achieved exactly, it may get rid of the offending characters or fall back on approximations. The library recognises or produces nearly 150 different character sets and is able to convert files between almost any pair. Most RFC 1345 character sets are supported.

Note: This extension is not available on Windows platforms.


You must have GNU Recode 3.5 or higher installed on your system. You can download the package from here.


To be able to use the functions defined in this module you must compile your PHP interpreter using the --with-recode[=DIR] option.


Crashes and startup problems of PHP may be encountered when loading the recode as extension after loading any extension of mysql or imap. Loading the recode before those extension has proven to fix the problem. This is due a technical problem that both the c-client library used by imap and recode have their own hash_lookup() function and both mysql and recode have their own hash_insert function.


The IMAP extension cannot be used in conjuction with the recode or YAZ extensions. This is due to the fact that they both share the same internal symbol.

Runtime Configuration

This extension has no configuration directives defined in php.ini.

Resource Types

This extension has no resource types defined.

Predefined Constants

This extension has no constants defined.

Table of Contents
recode_file --  Recode from file to file according to recode request
recode_string -- Recode a string according to a recode request
recode -- Recode a string according to a recode request