HTTP Input and Output HTTP input/output character encoding conversion may convert binary data also. Users are supposed to control character encoding conversion if binary data is used for HTTP input/output. In PHP 4.3.2 or earlier versions, there was a limitation in this functionality that mbstring does not perform character encoding conversion in POST data if the enctype attribute in the form element is set to multipart/form-data. So you have to convert the incoming data by yourself in this case if necessary. Beginning with PHP 4.3.3, if enctype for HTML form is set to multipart/form-data and mbstring.encoding_translation is set to On in &php.ini; the POST'ed variables and the names of uploaded files will be converted to the internal character encoding as well. However, the conversion isn't applied to the query keys. HTTP Input There is no way to control HTTP input character conversion from a PHP script. To disable HTTP input character conversion, it has to be done in &php.ini;. Disable HTTP input conversion in &php.ini; When using PHP as an Apache module, it is possible to override those settings in each Virtual Host directive in &httpd.conf; or per directory with &htaccess;. Refer to the Configuration section and Apache Manual for details. HTTP Output There are several ways to enable output character encoding conversion. One is using &php.ini;, another is using ob_start with mb_output_handler as the ob_start callback function. &php.ini; setting example Script example ]]>