Smarty 出力フィルター

1月 17th, 2008 by Fou Leave a reply »

EUC-JPで作ったテンプレート出力をSHIFT-JISに変更する方法。

//プラグインの登録
$smarty->plugins_dir = array('plugins',APPLICATION_PATH.'/library/plugins/');
 
//出力フィルターの設定
$smarty->autoload_filters( array("output"=>array("encode_euctosjis")) );

outputfilter.encode_euctosjis.php

function smarty_outputfilter_encode_euctosjis ($buff, &$smarty) {
    $buff = mb_convert_encoding($buff, 'SJIS', 'EUC');
    return $buff;
}

ただし!!
$smarty->append()を使った場合はエンコードされたのを、display()でまたエンコードされてしまいうまくいかない。。

Advertisement

コメントを残す