ZWikiがiso-8859-1で表示される問題¶
自分はWebサイトをUTF-8で構築しているのですが、なぜかZWikiのページだけがiso-8859-1で表示されてしまっていました。ソースを表示してみると、metaタグでちゃんとcharset=utf-8と書いてあるのですが、パケットキャプチャーしてみたところ、ResponseHeaderに:
Content-Type: text/html; charset=iso-8859-1
の1行が。
OperaはmetaタグよりもResponseHeaderを優先するので、Operaユーザーとしては見過ごせません。というかResponseHeaderとmetaタグの記述が一致してないという方が問題ですが。
そこで、Zopeのソースを眺めたり、ZWikiのソースを眺めたり、Zope-MLの過去ログを漁ったり‥‥と色々と調べてみた結果、よく分かりませんでした(笑)。そこでふと思ったのが、「apacheが何かしてるんじゃないか?」という事でした。そういえばサーバー移行のときに ついでに FrontEndにapache2を配置したような‥‥。
さっそくapacheのhttpd.confを修正したところ無事問題解決。1時間くらい悩んでしまいました‥‥。
変更部分:
#AddDefaultCharset ISO-8859-1
AddDefaultCharset UTF-8
ZWiki以外はContent-TypeをResponseHeaderに入れるようにしているので、省略時にDefault値をapache2が入れていた事が原因のようです。
# それはそれとして、そろそろZWikiコンテンツの内容更新しないと‥‥