Geeklog-1.4.1ではメールの文字コードがUTF-8になってしまい,サーバーの環境やメーラによっては文字化けするケースが出てきた。特にhotmailでは顕著なようだ。
lib-common.phpのコードを読んでみると,マルチバイト文字を含むメールのヘッダや本文はUTF-8でエンコードされる仕様になっている。ある意味,強引な仕様だ。
この状況を改善すべく文字コードやメールの勉強を始めたが,なかなかややこしい。「t_komuraの日記」を読むと,文字コード変換はPHPのバージョンによって対応の仕方が違うし,「超極める!PHP」の上鍵さんの記事を読むと,日本語のメールを正しく送るのは至難の業であることがよくわかる。さらにこの記事を読むと,PHPと文字コードの関係について自分がいかに無知だったかを思い知らされる。
そんなこんなで自分のようなホビープログラマには荷が重いが,ないよりはましだろうと思って,jpmailプラグインを作成した。GeeklogがUTF-8にエンコードしたヘッダや本文をデコードし,ISO-2022-JPでエンコードするだけなのだが,PHPのmb_detect_encoding()やmb_encode_mimeheader()を使わないで実装するのはかなりややこしい。
結局,エンコーディングの検出はNucleusに含まれているmb_emulatorを使い,行の折りたたみやコメントの処理は「超極める!PHP」の記事を参考にした。
XREA(PHP-5.1.4, MySQL-5.0.22)とノートPC(Windows XP PRO, PHP-5.2.1, MySQL-4.0.18)の環境では動作しているし,hotmail宛でも文字化けしていない。他の環境でもうまく動作すればよいのだが...
タグ:jpmail プラグイン
今まで開発者しか購読できなかったメーリングリストを購読できるようになったので,早速登録。従来のgeeklog-devtalkは閉鎖される。関心のある方は http://lists.geeklog.net/mailman/listinfo/geeklog-devel からどうぞ。
Geeklog-1.4.1が正式にリリースされた。リリース直前でconfig.phpのデフォルトがutf-8から
$_CONF['language'] = 'english';
$_CONF['default_charset'] = 'iso-8859-1';
に戻り,一安心。個人的にはMicrosoft SQL Serverがサポートされたことはどうでもよく,コンテンツの多言語化,カレンダ機能のプラグイン化,CAPTCHAのサポートが興味深い。
タグ:geeklog 多言語化
Geeklogテーマエディタプラグインのバージョン1.0.4を公開した。簡易版の画像アップローダを搭載し,テーマディレクトリ下の /images ディレクトリにテーマエディタから直接画像をアップロードできるようになった。ダウンロードはこちらからどうぞ。
I've released the themedit (Theme Editor) plugin 1.0.4 for Geeklog. In this version, you can uoload image files directly to /images directories under each theme's directory. You can DOWNLOAD it from here.
タグ:テーマエディタ プラグイン
予定通り,RC1が公開された。データベースの変更はなし。MSSQL関係のバグつぶしと,多言語サポート改善,Professionalテーマの改善,投稿する前に呼び出されるAPIフックの追加,など。
Google Sitemap Generatorのバグつぶしが終わって一息ついていたら,メーリングリストでDirkさんが「遅くとも来週(今週?)末にはRC1を出す」と発言していた。現在のところ,MSSQL関連のバグつぶしと,CAPTCHA関連のAPI追加で調整している。
バグ修正のみ。
バグ修正とオプション追加。
バグ修正が1つ,動作変更が1つ。
以上の訂正を行ったものをバージョン0.1.1として,アップロードした。ダウンロードはこちらからどうぞ。
タグ:sitemap サイトマップ google_sitemap_generator






