(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)
iconv — Преобразовывает строку из одной кодировки символов в другую
Преобразовывает строку string из кодировки from_encoding
в кодировку to_encoding.
from_encoding
Текущая кодировка, используемая для интерпретации параметра string.
to_encodingТребуемая на выходе кодировка.
Если к параметру to_encoding добавлена строка
//TRANSLIT, включается режим транслитерации.
Это значит, что в случае, если символ не может быть представлен в требуемой кодировке,
он может быть заменён одним или несколькими похожими символами.
Если добавлена строка //IGNORE, то символы,
которые не могут быть представлены в требуемой кодировке, будут
удалены.
В случае отсутствия вышеуказанных параметров
будет сгенерирована ошибка уровня E_NOTICE,
а функция вернёт false.
Как будет работать //TRANSLIT и будет ли вообще, зависит от
системной реализации iconv() (ICONV_IMPL).
Известны некоторые реализации, которые просто игнорируют
//TRANSLIT, так что конвертация для символов некорректных
для to_encoding скорее всего закончится ошибкой.
stringСтрока (string) для преобразования.
Возвращает преобразованную строку или false, если возникла ошибка.
Пример #1 Пример использования iconv()
<?php
$text = "Это символ евро - '€'.";
echo 'Исходная строка : ', $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 'Обычное преобразование : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;
?>Вывод приведённого примера будет похож на:
Исходная строка : Это символ евро - '€'. С добавлением TRANSLIT : Это символ евро - 'EUR'. С добавлением IGNORE :Это символ евро - ''. Обычное преобразование : Notice: iconv(): Detected an illegal character in input string in .\iconv-example.php on line 7
Замечание:
Доступные кодировки и опции зависят от установленной реализации iconv. Если параметр
from_encodingилиfrom_encodingне поддерживается в текущей системе, будет возвращено значениеfalse.