先日、EC-CUBEではなく、Zend Frameworkを使った仕事でSmartyを実装していると、


エラーが発生して画面が真っ白になってしまいました。


PHPやSmartyの文法に間違いはないようでした。


エラーのページは会員規約のページで、


特に複雑な実装もしていません。



「おかしいなぁ。」



そう思って会員規約を削除するとエラーが出ない。


面倒ですが、会員規約を順番に削除し判明したのが、


「マ」「急」の2文字を使っているとエラーが出るのです。



ぐぐってみると、


http://homepage1.nifty.com/ogasa/txt2mac.htm


にある使ってはいけない文字に該当していたようです。



Smartyのデリミタはデフォルトの { } にしていたのですが、


どうやら禁止されている文字は


文字コードの関係上、ブラウザに { } と解釈されて


エラーが発生していたようです。


(文字コードとか、あまりよくわかっていません汗)



なぜEC-CUBEのSmartyのデリミタがHTMLコメントと同様の <!-- --> なのかを


理解した瞬間でした。


結局デリミタを <!-- --> に変えて修正完了です。