- - PR -
Smartyについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-02-01 22:04
こんばんわ、くろです。
(場違いな、質問でしたら申し訳ありません) 今、僕はPHP5の勉強をはじめ、そしてSmartyの勉強を始めたところです。 初歩的なプログラムを作成していて、少し挙動がおかしい気がしたので どなたかご存知の方がいらっしゃいましたら、ご教授お願いいたします。 +-------------------------------------------------------------------+ helloSmarty.php require_once('Smarty/libs/Smarty.class.php'); $o_smarty = new Smarty(); $o_smarty->template_dir = 'templates/'; $o_smarty->compile_dir = 'templates_c/' $o_smarty->assign('name','World'); $o_smarty->display('helloSmarty.tpl'); +-------------------------------------------------------------------+ helloSmarty.tpl <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>Smartyの基本</title> </head> <body> Hello ,{$name}!!<br> </body> </html> +-------------------------------------------------------------------+ 単純なプログラムなのですが、 以下のようなエラーが表示されます。 Fatal error: Smarty error: [in helloSmarty.tpl line 5]: syntax error: unrecognized tag: Hello ,{$name (Smarty_Compiler.class.php, line 439) in C:\php5.2.0\includes\Smarty\libs\Smarty.class.php on line 1095 テンプレートの5行目が怒られていると思いまして、 <title>Smartyの基本</title>から <title>Smartyの基礎</title>に変更したころ正常表示がされました。 Smartyでは、titleタグで、使用出来ない漢字があるということなのでしょうか? それとも僕の設定が甘いために発生した問題なのでしょうか? 調べてもみたのですが、それらしい答えがありませんでしたの、 ご質問させて頂きました。 環境としましては、 WindowsXP PHP5.2 Smarty-2.6.16 になります。 まだまだ初心者で、初歩的な質問をしているかもしれませんが、 宜しくお願いします。 |
|
投稿日時: 2007-02-01 23:07
そもそも、詳しくないので理由はハッキリ理解していませんが、
SmartyでShift_JIS形式のテンプレートは相性が悪かったような気がします。 UTF-8で書いて、出力をバッファリングし、 Shift_JISに変換して出力していました。 (携帯向けのコンテンツだった為、他の文字コードでの出力が厳しかった・・・) |
|
投稿日時: 2007-02-01 23:18
かつのり様
ご返答ありがとうございます。 ご指摘の通り、テンプレートをUTF-8で新たに作成し、 プログラムを実行してみましたところ、正しく表示されました。 ありがとうございました。 (自分の勉強不足を痛感しました) |
1