ただただしです。
ずいぶんお待たせしてしまいました、UTF-8への自動変換コードをcommit
しました。すでにmigrate.rbなどを使って変換済みの人にも影響があるので、
以下をよく読んでからアップデートしてください。
1. データファイルの変換
defaultIOによるデータファイルは、MAGICナンバーを「TDIARY2.01.00」に
しました。これで変換済みかどうかを判別します。
変換は最初の読み込み時に自動的に行われます。変換後に書き戻されて、
MAGICナンバーが変わります。バックアップは作成されないので、事前に
必ずバックアップを取っておいてください。
migrate.rbなどですでに変換済みの場合、文字コードはUTF-8ながらMAGIC
ナンバーが古いままという状態になっています。この状態でコードを最新
にしてしまうと、過剰に変換されてしまうので注意が必要です。対策とし
て、tdiary.confに以下を設定することで自動変換を抑止するようになります
(ただしMAGICナンバーの書き換えは行います)。
@options['stop_migrate_01'] = true
なお、misc/migrate.rbはまだMAGICナンバーの書き換えをしていません。
それからdbiIOもUTF-8未対応です(使ってる人を知らないので)。
2. tdiary.confとプラグインデータ
手書きの方のtdiary.confはパーミッションの関係で自動変換不可能なので、
手をつけません。nkfコマンドなどを使ってUTF-8化する必要がありますが、
日本語を明に使っていない限り変換しなくても支障ないかも。
@data_pathのtdiary.confと、プラグインが生成するキャッシュファイル、
カテゴリ用のディレクトリ名などの変換は、plugin/90migrate.rbというプラ
グインが最初の読み込み時に実施します。いちどすべてのプラグインが読ま
れてから変換作業が走るので、最初の表示は化けますが、2度目以降は正常
に表示されます。
変換後のtdiary.confにはtdiary_versionという変数が定義されるので、二度目
はこれを見て、変換を行いません。そのため、migrate.rbを使って変換済み
の場合には、過剰に変換がかかります。回避方法は、90migrate.rbをあらか
じめ削除しておいてから、新しいコード上で設定画面に入り、どのページで
も良いので設定を保存することです。こうするとtdiary_versionが定義される
ので、90migrate.rbが戻っても変換は発生しません。
まだ安定してるとは言いがたいので、人柱趣味な人はどーぞ:-) 私の日記は
trunkにしました。
--
ただただし <http://sho.spc.gr.jp/>
♪ツッコミは、短く鋭く愛を込めて。
|