iconv

Convert a string from one character encoding to another

&reftitle.description; ``string``false```iconv` `string` `from_encoding` `string` `to_encoding` `string` `string`

Converts `string` from `from_encoding` to `to_encoding`.

&reftitle.parameters;

`from_encoding`

- The current encoding used to interpret `string`.

`to_encoding`

- The desired encoding of the result.

  If the string `//TRANSLIT` is appended to `to_encoding`, then transliteration is activated. This means that when a character can't be represented in the target charset, it may be approximated through one or several similarly looking characters. If the string `//IGNORE` is appended, characters that cannot be represented in the target charset are silently discarded. Otherwise, `E_NOTICE` is generated and the function will return &false;.

  If and how `//TRANSLIT` works exactly depends on the system's iconv() implementation (cf. `ICONV_IMPL`). Some implementations are known to ignore `//TRANSLIT`, so the conversion is likely to fail for characters which are illegal for the `to_encoding`.

`string`

- The &string; to be converted.

&reftitle.returnvalues;

Returns the converted string,&return.falseforfailure;.

&reftitle.examples;

### `iconv` example

    <?php
    $text = "This is the Euro symbol '€'.";

    echo 'Original : ', $text, PHP_EOL;
    echo 'TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL;
    echo 'IGNORE   : ', iconv("UTF-8", "ISO-8859-1//IGNORE", $text), PHP_EOL;
    echo 'Plain    : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;

    ?>

&example.outputs.similar;

    Original : This is the Euro symbol '€'.
    TRANSLIT : This is the Euro symbol 'EUR'.
    IGNORE   : This is the Euro symbol ''.
    Plain    :
    Notice: iconv(): Detected an illegal character in input string in .\iconv-example.php on line 7

&reftitle.notes;

The character encodings and options available depend on the installed implementation of iconv. If the argument to `from_encoding` or `to_encoding` is not supported on the current system, &false; will be returned.

&reftitle.seealso;

- `mb_convert_encoding`
- `UConverter::transcode`