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
汎用のスクリプトってのはめんどくさいなぁ。