ob_iconv_handler

(PHP 4 >= 4.0.5, PHP 5)

ob_iconv_handler -- Convert character encoding as output buffer handler

Description

string ob_iconv_handler ( string contents, int status )

It converts the string encoded in internal_encoding to output_encoding.

internal_encoding and output_encoding should be defined by iconv_set_encoding() or in the configuration file php.ini.

例子 1. ob_iconv_handler() example:

<?php
ob_start
("ob_iconv_handler"); // start output buffering
?>

See also iconv_get_encoding(), iconv_set_encoding() and output-control functions.


add a note add a note User Contributed Notes
st33mann at gmx dot n3t
05-Oct-2005 02:43
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".
libor dot vanek at gmail dot com
28-Sep-2005 12:58
I've heard, that in PHP 5  is this function ob_iconv_handler working, only if Content-Type is text/* - which can be a problem when it is: application/xhtml+xml

This is NOT confirmed - but if you experience this kind of trouble, this is to check.