外部ファイルをインクルードするとき、HTMLの文字コードと違う文字コードのファイルを読み込むと、文字化けしてしまいます。しかしインクルード先のファイルがプログラムで文字コードが変えることができない…そのようなときに使えるコードを紹介いたします。
[php]
<?php
$str="文字コードを変更したいファイル(パスも含む)";
if (is_file($str))
{
ob_start();
include $str;
$contents = ob_get_contents();
ob_end_clean();
$str=$contents;
}
else
{
EXIT(‘リクエストに失敗しました。何らかの問題が起きている可能性があります。’);
}
$encoding=mb_detect_encoding($str,"UTF-8,EUC-JP");
if($encoding!="UTF-8")
{
$str=mb_convert_encoding($str,"UTF-8",$encoding);
}
echo $str;
?>
[/php]
■参考サイト
呼び出すファイルの文字コードを変更する – 悲喜交々 -へたれの技術メモ置き場-
http://d.hatena.ne.jp/ukyou_kuin/20080812/1218553990