mbstring.encoding_translation の回避、PHPスクリプトのみで

mbstring.encoding_translation がうざすぎる。
しかし php.ini は使えない。.htaccess も使えない。ini_set でも変えられない。
そんな時の苦肉の策。

$server_status['translaton'] = ini_get('mbstring.encoding_translation');
$server_status['internal_encoding'] = ini_get('mbstring.internal_encoding');
foreach( $_POST as $k => $v ){
	if( $server_status['translaton']==1 ){
		$v = mb_convert_encoding($v,"UTF-8",$server_status['internal_encoding']);
	}
    	$_POST[$k] = $v;
}


mbstring.encoding_translation が ONになってたら、internal_encoding から UTF-8に変換します。

ちなみに .htaccess が使える時は以下のように記述。
php_flag mbstring.encoding_translation off

php.ini が使えるなら、以下のように記述。
mbstring.encoding_translation = off


汎用のスクリプトってのはめんどくさいなぁ。