(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)
ob_iconv_handler — Преобразовывает символы из текущей кодировки в кодировку выходного буфера
Преобразовывает закодированную в internal_encoding строку,
в строку, закодированную в output_encoding.
Значения internal_encoding
и output_encoding должны быть определены в файле php.ini
или функцией iconv_set_encoding() .
Информацию об аргументах этого обработчика можно посмотреть в описании к функции ob_start() .
Информацию о возвращаемых значениях этого обработчика можно посмотреть в описании к функции ob_start() .
Пример #1 Пример использования ob_iconv_handler()
<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");
ob_start("ob_iconv_handler"); // запуск буферизации вывода
?>
Just a quick note that may be helpful for some:
It seems to me that this function also modifies the HTTP Content-Type header that's sent to the client (at least in combination with the iconv_set_encoding() function).
If you specify an encoding ending with "//TRANSLIT" or "//IGNORE" (valid in iconv), it will still send the encoding name in the HTTP header. This makes it an invalid character set unfortunately.
For example:
<?php
iconv_set_encoding("internal_encoding","UTF-8");
iconv_set_encoding("output_encoding","ISO-8859-1//TRANSLIT");
ob_start("ob_iconv_handler");
?>
will send a Content-Type header of "ISO-8859-1//TRANSLIT".