2009-08-18

PHPSmartyを使ったら文字化けする

phptplEUC-JPで書いたらブラウザ文字化けする。

ブラウザエンコード設定を日本語EUC-JPにすると文字化けしない。日本語自動判別にすると文字化けする。

Smartyを使って正しいヘッダ情報を出すにはどうすればいいんだ。phpからはheader("Content-Type: text/html;charset=EUC-JP");とすれば大丈夫だったけど、Smartyで同じ事をやるには。

関係あるかわからないが、php.iniのmbstring.internal_encoding = EUC-JP になっている。

  • 大いに関係あるので mbstring.hogehoge な設定を全部さらけだして御覧なさい。

    • mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = pass mbstring.http_output = pass mbstring.encoding_translation = Off mbstring.detect_order = UTF-8,SJIS-win,eucJP-win mbstring.substitute_character = none ;mbstring...

      • なるほど、php.iniは別におかしくなさそうだね。 だとすればhttpdがapacheだとして、DefaultCharsetが設定されてるのかもしれない。 そこがいじれるのなら、DefaultChasetは'none'にするとか、それが...

        • apacheのhttpd.confを見たけどDefaultCharsetは設定されてませんでした。 念の為php.iniも見たけどそれっぽい記述はなし。 <meta http-equiv="Content-Type" content='text/html; charset="EUC-JP"' /> tplの頭にこ...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん