Cadenas de caracteres multibyte
PHP Manual

Entrada/Salida de HTTP

La conversión de una codificación de caracteres desde una entrada/salida HTTP también puede convertir datos binarios. Si se utilizan datos binarios para la entrada/salida de HTTP, los usuarios tienen el deber de controlar la conversión de la codificación de caracteres.

Nota:

En la versión de 4.3.2 de PHP o anteriores existe una limitación en esta funcionalidad de mbstring que consiste en que no se realiza la conversión de la condificación de caracteres de los datos enviados mediante POST si el atributo enctype del elemento form está establecido a multipart/form-data. En este caso, es el usuario el que ha de convertir los datos entrantes si fuera necesario.

Comenzando con PHP 4.3.3, si el atributo enctype de un formulario HTML se establece a multipart/form-data y mbstring.encoding_translation está establecido a 'On' en php.ini, las variables y los nombres de los ficheros subidos mediante POST serán convertidos también a la codificación de caracteres interna. Sin embargo, la conversión no se aplicará a las claves de las consultas.

Ejemplo #2 Ejemplo de configuración de php.ini

;; Habilitar la conversión de codificaciones de caracteres de salida para todas las páginas de PHP

;; Hablitar el almacenamiento en búfer de salida
output_buffering    = On

;; Establecer mb_output_handler para habilitar la conversión de salida
output_handler      = mb_output_handler

Ejemplo #3 Ejemplo de script

<?php

// Habilita la conversión de codificaciones de caracteres de salida sólo para esta página

// Establecer la codificación de caracteres de salida HTTP a SJIS
mb_http_output('SJIS');

// Iniciar el almacenamiento en búfer y especificar "mb_output_handler" como
// la función de llamada de retorno
ob_start('mb_output_handler');

?>


Cadenas de caracteres multibyte
PHP Manual