iCal形式でのスケジュールデータ配信
楽団のサイトで公開しているスケジュールデータを、iCal形式で配信するようにしました。
団内への告知はMLで投げたので、こっちには技術面をメモしておきます。(備忘録ともいう)
- 言語 php
人間用のスケジュール画面が、現在はphpなので。そこからコピペ改造。
このへん(http://www.asahi-net.or.jp/~CI5M-NMR/iCal/ref.html)を
参考にしつつ、テンプレートをHTMLからiCalに変更しました。
UTF-8で出しておけば、Google Calendarでも文字化けしないので。
古い情報だと数値文字参照にしないとUTF-8でも化ける、とか書いてある
サイトもありましたが、今日現在ではもう大丈夫な模様。
というか、数値文字参照にしたらそれがそのまま出てきました(汗)
ポイントは、
header("Content-Type: text/plain; charset=UTF-8");
と
mb_convert_variables("UTF-8","Shift-JIS",$myrow);
です。(DBがShift-JISなのでコンバートが必要だったんです。)
そのほかは特記事項なし。
「iCal形式ってどんなんだっけ?聞いたことはあるけど知らないなぁ」
な状態から、無知ゆえの遠回りも含めて3時間ほどで出来上がりました。