Entradas/Salidas HTTP
En esta página
Entradas/Salidas HTTP#
La conversión automática de las entradas/salidas HTTP puede también convertir datos binarios. Los usuarios deben controlar las conversiones, si los datos binarios deben ser utilizados mediante HTTP.
[!NOTE] Si el atributo
enctypede la etiquetaformvalemultipart/form-datay la directiva delphp.iniestá posicionada a On, las variables y los nombres de ficheros subidos mediante el método POST serán convertidos con la codificación interna. De lo contrario, la conversión no se realizará.
- Entrada HTTP
No hay medios para controlar la conversión de caracteres HTTP en entrada, desde un script PHP. Para desactivar esta conversión, debe hacerse desde el fichero php.ini.
Desactiva la conversión HTTP en el php.ini
;; Desactivar la conversión de entrada HTTP
mbstring.http_input = pass
;; Desactivar la conversión de entrada HTTP
mbstring.encoding_translation = Off
```
Cuando se utiliza PHP como módulo Apache, es posible anular la configuración del `php.ini` para cada Virtual Host en el fichero `httpd.conf` o por directorio con el fichero `.htaccess`. Consúltese la sección de [configuración](#configuration) así como el manual de Apache.
- Salidas HTTP
Existen varios medios para activar la conversión en salida de script PHP. Uno de ellos utiliza `php.ini`, otro utiliza `ob_start` con la función `mb_output_handler` como función de retrollamada.
Ejemplo de configuración de mbstring en `php.ini`
;; Habilitar la conversión de codificación de caracteres en salida para todas las páginas PHP
;; Habilitar el búfer de salida
output_buffering = On
;; Establecer mb_output_handler para habilitar la conversión en salida
output_handler = mb_output_handler
Ejemplo de script con mbstring
```php
<?php
// Habilitar la conversión de codificación de caracteres en salida HTTP solo para esta página
// Establecer la codificación de caracteres en salida HTTP a SJIS
mb_http_output('SJIS');
// Iniciar el búfer y especificar "mb_output_handler" como
// función de retrollamada
ob_start('mb_output_handler');
?>