iconv

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

iconvПреобразование строки в требуемую кодировку

Описание

iconv ( string $from_encoding , string $to_encoding , string $string ) : string|false

Преобразует набор символов строки string из кодировки from_encoding в to_encoding.

Список параметров

from_encoding

Кодировка входной строки.

to_encoding

Требуемая на выходе кодировка.

Если добавить к to_encoding строку //TRANSLIT, включается режим транслитерации. Это значит, что в случае, если символ не может быть представлен в требуемой кодировке, он будет заменен на один или несколько наиболее близких по внешнему виду символов. Если добавить строку //IGNORE, то символы, которые не могут быть представлены в требуемой кодировке, будут удалены. В случае отсутствия вышеуказанных параметров будет сгенерирована ошибка уровня E_NOTICE, а функция вернет false.

Предостережение

Как будет работат //TRANSLIT и будет ли вообще, зависит от системной реализации iconv() (ICONV_IMPL). Известны некоторые реализации, которые просто игнорируют //TRANSLIT, так что конвертация для символов некорректных для to_encoding скорее всего закончится ошибкой.

string

Строка, которую необходимо преобразовать.

Возвращаемые значения

Возвращает преобразованную строку или false в случае возникновения ошибки.

Примеры

Пример #1 Пример использования iconv()

<?php
$text 
"Это символ евро - '€'.";

echo 
'Исходная строка        : '$textPHP_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