携帯サイトはShit_jisで作らなくてはならない。
じゃないと、文字化けしてしまう。
WordPressなどSJISではないシステム環境を使って携帯サイトを作る場合、ブチあたる問題だ。
そこで、最終的にブラウザで表示するタイミングでUTFもしくはEUCをSJISにしてしまう方法を教えてもらった。Thanks enworks!!!
※実際は、一度UTF(EUC)で書き出したものをキャッシュし、そのキャッシュをSJISにして表示する。そのため、ソースのcharsetにはSJISと表記されていない。
方法
テンプレートになるphpファイルの頭に、
<?php
header("Content-Type: text/html; charset=Shift_JIS");
ob_start();
?>
phpの最後に、
<?php
$out = ob_get_clean();
$out = mb_convert_kana($out, "rak", "UTF-8");
$out = mb_convert_encoding($out, "SJIS", "UTF-8");
echo $out;
?>
と表記。つまりこれらのphpで変換する部分を囲めばいいわけだ。
–制作メモ




ありがとうございます!
header.phpの先頭に前半、
footer.phpの最後に後半を入れたところ、
上手く動いてくれました。
ずっと悩んでいたことが一発で解決です。
助かりました。
お!それはよっかた!!
文字コードには毎回悩まされます。
[...] http://katachigfx.jp/katalog/2008/09/04/utf8-sjis/ [...]
はじめまして。
どうしようか困っていたところ辿り着きました。
とても参考になりました。
ありがとうございます。
どういたしまして。
お役に立ててよかったよかった!
[...] UTF-8を強制的にSJISへ変換して表示する テンプレートになるphpファイルの頭に、 [...]
[...] UTF-8を強制的にSJISへ変換して表示するより。 This entry was posted in 未分類 by root_xyon. Bookmark the permalink. [...]