PHPのフォームなどで、文字のやりとりをしていると、文字化けを起こす場合があります。
特に、文字コードがShift-JISだったりすると「機能」が「機\能」になってしまったりする場合があります。これは、PHP4やPHP5の設定ではmagic_quotes_gpcがonになっており、これの影響を受けている状況です。(この現象については他のサイトで。。。)
問題を解消をするために、一つずつstripslashes()を使うのは面倒ですし、二重に処理をしてしまったり、もしくはmagic_quotes_gpcがoffの環境に移行するときに手間がかかるのは解せないので、下記コードを良く利用しています。
<?php // マジッククオートされている場合に、スラッシュを取り除く function no_slashes($array) { if (get_magic_quotes_gpc()) { foreach($array as $key=>$value) { if(is_array($value)) { $value = no_slashes($value); $array_temp[$key] = $value; } else { $array_temp[$key] = stripslashes($value); } } return $array_temp; } else { return $array; } } // 処理を行いたい配列を渡す $_GET = no_slashes($_GET); $_POST = no_slashes($_POST); $_COOKIE = no_slashes($_COOKIE); ?>