utf8_decode
(PHP 4, PHP 5, PHP 7, PHP 8)
utf8_decode — Converts a string from UTF-8 to ISO-8859-1, replacing invalid or unrepresentable characters
Description
utf8_decode(string $string): string
This function converts the string string
from the UTF-8
encoding to ISO-8859-1
. Bytes in the string which are not valid UTF-8
, and UTF-8
characters which do not exist in ISO-8859-1
(that is, code points above U+00FF
) are replaced with ?
.
Note:
Many web pages marked as using the
ISO-8859-1
character encoding actually use the similarWindows-1252
encoding, and web browsers will interpretISO-8859-1
web pages asWindows-1252
.Windows-1252
features additional printable characters, such as the Euro sign (€
) and curly quotes (“
”
), instead of certainISO-8859-1
control characters. This function will not convert suchWindows-1252
characters correctly. Use a different function ifWindows-1252
conversion is required.
Parameters
-
string
-
A UTF-8 encoded string.
Return Values
Returns the ISO-8859-1 translation of string
.
Changelog
Version | Description |
---|---|
7.2.0 | This function has been moved from the XML extension to the core of PHP. In previous versions, it was only available if the XML extension was installed. |
Examples
Example #1 Basic examples
<?php // Convert the string 'Zoë' from UTF-8 to ISO 8859-1 $utf8_string = "\x5A\x6F\xC3\xAB"; $iso8859_1_string = utf8_decode($utf8_string); echo bin2hex($iso8859_1_string), "\n"; // Invalid UTF-8 sequences are replaced with '?' $invalid_utf8_string = "\xC3"; $iso8859_1_string = utf8_decode($invalid_utf8_string); var_dump($iso8859_1_string); // Characters which don't exist in ISO 8859-1, such as // '€' (Euro Sign) are also replaced with '?' $utf8_string = "\xE2\x82\xAC"; $iso8859_1_string = utf8_decode($utf8_string); var_dump($iso8859_1_string); ?>
The above example will output:
5a6feb string(1) "?" string(1) "?"
See Also
- utf8_encode() - Converts a string from ISO-8859-1 to UTF-8
- mb_convert_encoding() - Convert a string from one character encoding to another
- UConverter::transcode() - Convert a string from one character encoding to another
- iconv() - Convert a string from one character encoding to another
© 1997–2021 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.utf8-decode.php