PHP 日本会议 2024

ob_iconv_handler

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

ob_iconv_handler将字符编码转换为输出缓冲区处理程序

描述

ob_iconv_handler(字符串 $contents, 整数 $status): 字符串

将以 internal_encoding 编码的字符串转换为 output_encoding

internal_encodingoutput_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"); // 开始输出缓冲
?>

参见

添加注释

用户贡献注释 1 个注释

1
st33mann at gmx dot n3t
19 年前
只是一个可能对某些人有帮助的快速说明
在我看来,此函数还会修改发送到客户端的 HTTP Content-Type 标头(至少与 iconv_set_encoding() 函数结合使用时是这样)。

如果您指定以“//TRANSLIT”或“//IGNORE”(在 iconv 中有效)结尾的编码,它仍然会在 HTTP 标头中发送编码名称。不幸的是,这使其成为无效的字符集。

例如
<?php
iconv_set_encoding
("internal_encoding","UTF-8");
iconv_set_encoding("output_encoding","ISO-8859-1//TRANSLIT");
ob_start("ob_iconv_handler");
?>
将发送 Content-Type 标头“ISO-8859-1//TRANSLIT”。
To Top