10/03/03 21:04:56 Jib32jZV
0.21から0.22への移行がやっと出来た。
DBに登録されているタイトル等が、0.21から0.22でlatin1からutf8に切り替わる。
その時に、変換に失敗するタイトルがあったのがアップデート出来ない原因だった。
URLリンク(www.mythtv.org)これは多分関係ない。俺も凄くハマった。
0.22のDBに0.21のデータを足すことが上手く行かなかったので、mythbackendのupdateを成功させる方向で試行。
mythbackendをストップ。0.22のデータをmysqldump --default-character-set=utf8でセーブ。
0.21のデータをmythconvergにレストア。手作業でdbcheck.cppのアップデートを当てて行った。
うちの場合は、oldprogramの中の、「ヒューマン ドキュメンタリー あと数か月の(文字化け)」が失敗してた。
ALTER TABLE oldprogram MODIFY oldtitle varbinary(128) NOT NULL default '';
ALTER TABLE oldprogram
DEFAULT CHARACTER SET default,
MODIFY oldtitle varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '';
をmysqlで実行。エラーが出るので
delete from oldprogram where oldtitle like 'ヒューマン%';
で該当する行を全部消して対処した。
その後、mythbackendを起動。 schemaのupgradeが上手く行った。
結局、たった一箇所の文字コード変換失敗(しかもoldprogramっていう一番いらない場所)で振り回されまくった。
oldprogramは古い番組表を保持してるっぽいので、引っかかってる人は同じ原因かも。