Smartyのエンコード設定
Smartyの文字化けについてメモ。
EUCやSJIS環境でSmartyを使う場合、エンコードの設定をしないと文字化けする事があります。
Smarty.class.phpをインクルードする前に下記のコードを記述。
define('SMARTY_RESOURCE_CHAR_SET','EUC-JP');
/** * Initialize new Smarty object * */ public function __construct() { // selfpointer needed by some other class methods $this->smarty = $this; if (is_callable('mb_internal_encoding')) { mb_internal_encoding(SMARTY_RESOURCE_CHAR_SET); }
実際にテンプレート機能を使っていなくても、Smartyのコンストラクタで強制的にencodingの設定をしてくれちゃってます。
状況から切り分けがしずらいのでちょっとハマりました。