« Lost connection to MySQL server エラー | メイン | 初代新幹線「0系」のラストラン、Googleが敬意を表して特別ロゴに »

「ProjectPier」 の iCal が GoogleCalendar で文字化け

[GoogleCalendar] [iCal] [ProjectPier]
ProjectPierはactiveCollabから派生したソフトウェアで、その特徴としてデザインがしっかりしており使い勝手が良いということが挙げられる。これはWeb2.0風に奇麗という訳ではない。シンプルでわかりやすいという事だ。

MOONGIFT様のブログにこんな記事を発見。
http://www.moongift.jp/2007/09/projectpier/

早速使ってみると、なるほど、これは簡単で使いやすい。おススメです。

プロジェクトを作る
→ タスクリストを作る
→ マイルストーンを切ってタスクリストを割り当てる

というごく単純な仕組みですがわかりやすいし導入には非常にいいなという印象を持ちました。

マイルストーンはiCal形式での出力に対応しているようなので、Googleカレンダーに読み込んでやろうとしたところ・・・文字化けしてしまいました。

そこで、他の iCal 形式のカレンダーを提供しているサービスと比較してみることに。
http://weather.livedoor.com/weather_hacks/ical.html

ここのカレンダーは問題なく読み込める。
ということはProjectPier側で修正できるはず・・・

で、レスポンスのヘッダーを比べてみると、こんな違いが。


 # ProjectPier
Content-Type: text/Calendar
---
 # iCal 天気
Content-Type: text/calendar; charset=utf-8

これが怪しい。

そこでgrepをかけてみるとこんなファイルを発見。

application/layouts/ical.php

<?php header('Content-Type: text/Calendar'); ?>
<?php echo $content_for_layout ?>

これをこんな風に書き換えてみる。


<?php header('Content-Type: text/calendar; charset=utf-8'); ?>
<?php echo $content_for_layout ?>

で、やってみると・・・


できました!!


GoogleカレンダーにiCalを読み込ませるときは、レスポンスのヘッダーで文字コードをちゃんと指定しないとだめみたいですね。

トラックバック

このエントリーのトラックバックURL:
http://i-am.web777.net/mt/mt-tb.cgi/44

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)