(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)
ob_iconv_handler — Convert character encoding as output buffer handler
Convers the string encoded in
internal_encoding
to
output_encoding
.
internal_encoding
and
output_encoding
should be defined in the
php.ini
file or in
iconv_set_encoding()
.
See ob_start() for information about this handler parameters.
See ob_start() for information about this handler return values.
Example #1 ob_iconv_handler() example:
<?php
iconv_set_encoding
(
"internal_encoding"
,
"UTF-8"
);
iconv_set_encoding
(
"output_encoding"
,
"ISO-8859-1"
);
ob_start
(
"ob_iconv_handler"
);
// start output buffering
?>
Just a quicc 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 maques 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".