文字コードを変えて一気に出力する方法(PHPのob_start)
April 18, 2008 10:31 AM written by Gen Taguchi

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で書いていましたよ・・・イタタ)。

この記事のトラックバックURL (トラックバックは承認後に公開されます)

コメント一覧

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

by mi | 2008年04月18日 17:37

コメント投稿 (コメントは承認後に公開されます)

名前
メールアドレス (表示されませんのでご安心を)
URL
情報保存?
コメント
あわせて読みたい

クリエイティブ・コモンズ・ライセンス

ユーザビリティ向上支援ビービット
Usability tested by BeBit

タブブラウザ Sleipnir 公式ページ(上級者向け)

Powered by
MovableType 3.33-ja

人気ブログランキング - idea*idea
ワード
www.flickr.com
This is a Flickr badge showing photos in a set called 自炊生活. Make your own badge here.
Firefox meter