# mb_convert_encoding

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_convert_encoding — Convert character encoding

### Description

mb_convert_encoding ( mixed `$val` , string `$to_encoding` [, mixed `$from_encoding` = mb_internal_encoding() ] ) : mixed

Converts the character encoding of `val` to `to_encoding` from optionally `from_encoding`. If `val` is an array, all its string values will be converted recursively.

### Parameters

`val`

  The string or array being encoded.

`to_encoding`

  The type of encoding that `val` is being converted to.

`from_encoding`

  Is specified by character code names before conversion. It is either an array, or a comma separated enumerated list. If `from_encoding` is not specified, the internal encoding will be used.

  See supported encodings.

### Return Values

The encoded string or array.

### Examples

Example #1 mb_convert_encoding() example

`<?php
/* Convert internal character encoding to SJIS */
$str = mb_convert_encoding($str, "SJIS");
/* Convert EUC-JP to UTF-7 */
$str = mb_convert_encoding($str, "UTF-7", "EUC-JP");
/* Auto detect encoding from JIS, eucjp-win, sjis-win, then convert str to UCS-2LE */
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win");
/* "auto" is expanded to "ASCII,JIS,UTF-8,EUC-JP,SJIS" */
$str = mb_convert_encoding($str, "EUC-JP", "auto");
?>`

### See Also

- mb_detect_order() - Set/Get character encoding detection order

### Changelog

Version | Description
--- | ---
7.2.0 | This function now also accepts an array as `val`. Formerly, only strings have been supported.