# mb-convert-encoding

mb_convert_encoding

Convert a string from one character encoding to another

# 

ENTITY

array

string

false

mb_convert_encoding

array

string

string

string

to_encoding

array

string

null

from_encoding

ENTITY

Converts `string` from `from_encoding`, or the current internal encoding, to `to_encoding`. If `string` is an ENTITY, all its ENTITY values will be converted recursively.

# 

ENTITY

`string`  
The ENTITY or ENTITY to be converted.

`to_encoding`  
The desired encoding of the result.

`from_encoding`  
The current encoding used to interpret `string`. Multiple encodings may be specified as an ENTITY or comma separated list, in which case the correct encoding will be guessed using the same algorithm as `mb_detect_encoding`.

If `from_encoding` is omitted or ENTITY, the [mbstring.internal_encoding setting](#ini.mbstring.internal-encoding) will be used if set, otherwise the [default_charset setting](#ini.default-charset).

See [supported encodings](#mbstring.supported-encodings) for valid values of `to_encoding` and `from_encoding`.

# 

ENTITY

The encoded ENTITY or ENTITY on success, ENTITY.

# 

ENTITY

As of PHP 8.0.0, a `ValueError` is thrown if the value of `to_encoding` or `from_encoding` is an invalid encoding. Prior to PHP 8.0.0, a `E_WARNING` was emitted instead.

# 

ENTITY

| ENTITY | ENTITY |
|----|----|
| 8.2.0 | `mb_convert_encoding` will no longer return the following non text encodings: `"Base64"`, `"QPrint"`, `"UUencode"`, `"HTML entities"`, `"7 bit"` and `"8 bit"`. |
| 8.0.0 | `mb_convert_encoding` will now throw a `ValueError` when `to_encoding` is passed an invalid encoding. |
| 8.0.0 | `mb_convert_encoding` will now throw a `ValueError` when `from_encoding` is passed an invalid encoding. |
| 8.0.0 | `from_encoding` is nullable now. |
| 7.2.0 | This function now also accepts an ENTITY as `string`. Formerly, only ENTITYs have been supported. |

# 

ENTITY

<div class="example">

<div class="title">

`mb_convert_encoding` example

</div>

```
<?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");

/* If mbstring.language is "Japanese", "auto" is expanded to "ASCII,JIS,UTF-8,EUC-JP,SJIS" */
$str = mb_convert_encoding($str, "EUC-JP", "auto");
?>

    
```

</div>

# 

ENTITY

`mb_detect_order`, UConverter::transcode, `iconv`