smartyのフィルターと関数のオーバーライド
フィルター
function __construct(){ #略 $this->register_prefilter('toEUC'); }
関数のオーバーライド
displayに処理追加
例えば携帯だったら、SJISで出すみたいな
function display($resource_name, $cache_id = null, $compile_id = null) { $content = parent::fetch($resource_name, $cache_id, $compile_id); if( Net_UserAgent_Mobile::isMobile() ){ //$content = mb_convert_kana($content, "ak"); print mb_convert_encoding( $content, "SJIS", "EUC" ) ; } else { print $content; } }
prefilterでEUCにしておいて、displayでSJISにしたらうまくいった。
でも、絵文字が化けるとかいう話が聞こえてきたけど、未確認。
{literal}須{/literal}はやんなくておk