Home > 開発ツール・技術 > 文字コードを変えて一気に出力する方法(PHPのob_start)

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

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

@taguchiをフォロー!
Twitterもやっています!
Posted on April 18th, 2008

Comments:1

mi 08-04-18 (Fri) 17:37

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

Comment Form
Remember personal info

Trackbacks:1

Trackback URL for this entry
http://www.ideaxidea.com/archives/2008/04/phpob_start.html/trackback
Listed below are links to weblogs that reference
文字コードを変えて一気に出力する方法(PHPのob_start) from IDEA*IDEA ~ 百式管理人のライフハックブログ
trackback from 弱小PHPerの憂鬱 09-05-25 (Mon) 18:51

PHP1-77:出力バッファリング

基本的にPHPはprint()とかecho()とか書いた時点で文字が出力されますが、小出しに出力せずにバッファに保存しておいて、後で一気に出力、なんてことができます。

ob_start.php
 

Home > 開発ツール・技術 > 文字コードを変えて一気に出力する方法(PHPのob_start)

最近の記事
カテゴリー別
過去記事一覧

Return to page top