A conversĆ£o de codificação de caracteres de entrada/saĆda HTTP pode converter dados binĆ”rios tambĆ©m. Os usuĆ”rios devem controlar a conversĆ£o de codificação de caracteres se dados binĆ”rios forem usados para entrada/saĆda HTTP.
Nota:
Se
enctypepara o formulÔrio HTML estiver configurado comomultipart/form-dataembstring.encoding_translationestiver ativado no php.ini, as variÔveis POST'ed e os nomes dos arquivos enviados serão convertidos para a codificação de caracteres interna também. No entanto, a conversão não é aplicada às chaves de consulta.
Não hÔ maneira de controlar a conversão de caracteres de entrada HTTP a partir de um script PHP. Para desativar a conversão de caracteres de entrada HTTP, isso deve ser feito no php.ini.
Exemplo #1 Desativando a conversão de entrada HTTP no php.ini
;; Disable HTTP Input conversion mbstring.http_input = pass ;; Disable HTTP Input conversion mbstring.encoding_translation = Off
Ao usar o PHP como um módulo do Apache, Ć© possĆvel substituir essas configuraƧƵes em cada diretiva Virtual Host no httpd.conf ou por diretório com .htaccess. Consulte a seção Configuração e o Manual do Apache para obter detalhes.
Existem vÔrias maneiras de habilitar a conversão de codificação de caracteres
de saĆda. Uma Ć© usando o php.ini, outra
Ć© usando ob_start() com
mb_output_handler() como a
ob_start função de retorno de chamada.
Exemplo #2 Exemplo de configuração no php.ini
;; Enable output character encoding conversion for all PHP pages ;; Enable Output Buffering output_buffering = On ;; Set mb_output_handler to enable output conversion output_handler = mb_output_handler
Exemplo #3 Exemplo de script
<?php
// Habilitar a conversĆ£o de codificação de caracteres de saĆda apenas para esta pĆ”gina
// Definir a codificação de caracteres de saĆda HTTP para SJIS
mb_http_output('SJIS');
// Iniciar o buffer e especificar "mb_output_handler" como
// função de callback
ob_start('mb_output_handler');
?>