(PHP 4 >= 4.0.5, PHP 5, PHP 7)
iconv — Преобразование строки в требуемую кодировку
$in_charset
, string $out_charset
, string $str
)
Преобразует набор символов строки
str
из кодировки in_charset
в out_charset
.
in_charset
Кодировка входной строки.
out_charset
Требуемая на выходе кодировка.
Если добавить к out_charset
строку //TRANSLIT, включается режим
транслитерации. Это значит, что в случае, если символ
не может быть представлен в требуемой кодировке,
он будет заменен на один или несколько нескольких наиболее
близких по внешнему виду символов.
Если добавить строку //IGNORE, то символы,
которые не могут быть представлены в требуемой кодировке, будут
удалены.
В случае отсутствия вышеуказанных параметров при наличии некорректных
символов строка str
будет обрезана до первого
такого символа, будет сгенерирована ошибка уровня E_NOTICE
и функция вернет FALSE
.
str
Строка, которую необходимо преобразовать.
Возвращает преобразованную строку или FALSE
в случае возникновения ошибки.
Версия | Описание |
---|---|
5.4.0 |
Начиная с этой версии, функция возвращает FALSE на некорректных символах,
только если в выходной кодировке не указан //IGNORE.
До этого, функция возвращала часть строки.
|
Пример #1 Пример использования iconv()
<?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;
?>
Результатом выполнения данного примера будет что-то подобное:
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