多字节字符串
PHP 手册

HTTP 输入和输出

HTTP 输入/输出字符编码转换同样也适用于二进制数据。 如果 HTTP 输入/输出用到了二进制数据,用户应当控制字符的编码转换。

Note:

在 PHP 4.3.2 或更早的版本里该功能存在一个限制:当 form 表单元素的 enctype 属性设置为 multipart/form-data 时,mbstring不会对 POST 数据执行字符编码的转换。 所以在这种情况下,必要时需要你自己转换传入的数据。

自 PHP 4.3.3 起,如果 HTML 表单的 enctype 属性设置为 multipart/form-data,并且 php.ini 里的 mbstring.encoding_translation 设置为 On, POST 的变量以及上传文件的名称也将会被转换到内部字符编码。 不过,转换不会应用于查询(query)的键。

Example #2 php.ini 设置例子

;; 为所有 PHP 页面启用输出字符编码的转换

;; 启用输出缓冲
output_buffering    = On

;; 设置 mb_output_handler 来进行输出的转换
output_handler      = mb_output_handler

Example #3 脚本例子

<?php

// 仅为此页面启用输出字符编码的转换

// 设置 HTTP 输出字符编码为 SJIS
mb_http_output('SJIS');

// 开始缓冲并指定 "mb_output_handler" 为回调函数
ob_start('mb_output_handler');

?>


多字节字符串
PHP 手册