文字コードを変えて一気に出力する方法(PHPのob_start)

SPONSORED LINK

Pocket

R*PADのメンテナンスしたときに使った方法をメモ。いつも忘れちゃうので。

PHPでソースコードはUTF-8で書きたいけど、このページだけShift-JISで出力したいってときありますよね(ケータイサイト作っているときとか)。

その場合、以下のような方法でやっています(いつもながら青い人に教えてもらいました!感謝!)。

<?php
header('Content-Type: text/html; charset=Shift_JIS');
ob_start();
?>
ここにShift-JISで出力したい内容をUTF-8で記述。
<?php
$output = ob_get_contents();
ob_end_clean();
echo mb_convert_encoding($output, "SJIS", "UTF-8");
?>

まぁ、なんということのないメモですが、かつての僕がそうであったように「どうやんだろ?」と思っている人もいるかなと・・・(ちなみに以前はこのページのソース自体をShift-JISで書いていましたよ・・・イタタ)。

ツイッターもやっています!

SPONSORED LINK

    • mi
    • April 18th, 2008

    http://www.ecoop.net/memo/2008-04-18-2.html
    こんなかんじで .htaccess でやるのはどうでしょう?
    .htaccess で php_value, php_flag を使って設定すると既存のソースを直接いじらずにフォルダ単位でまとめて文字コード変更できるので重宝してます。
    AllowOverride 権限不足していたり CGI の場合は使えませんが…。

  1. May 25th, 2009
    Trackback from : 弱小PHPerの憂鬱