2004/2/27

使用文字コードの変更(MovableType)

現在我がWebサイトの文字コードはEUC-JPを使用しています。
普通にUNIX上に自前でMovableTypeを構築している人の殆どがEUC-JPだと思うのですが、それでも世間ではUTC-8(Unicode)を使うサイトが多くなってきました。

別にpingしている先(ping.bloggers.jpなど)が文字コードを判別してちゃんと登録されるのなら、別に今の文字コードでも問題ないのだけれど、やっぱりUTC-8にしておけばよかったな〜と最近思ったりしています。

幸いなことに、私はMTをPostgreSQLで動作させているので、以下の修正だけで簡単にEUCからUTC-8に変更ができます。本番環境では確認していませんが、テスト環境を作ってデータ移行が正常に行なえるのを確認しました。


  • pg_dump db名 > master.dbでDBの内容をテキスト化
  • nkf -w master.db > change.dbでUTF-8に変換
  • psqlでmt_*で始まる全てのtableとsequenceを削除
  • psql < change.dbで新しいファイルをDBに格納
  • MTのディレクトリを違う名前にコピーしてバックアップ
  • MTのディレクトリ配下を全てUTF-8のパッチを当てたMTに入れ替える
  • 先ほどバックアップしたMT/mt.cfgを新しいMTディレクトリにコピー
  • mt.cfg内のPublishCharsetをUTF-8に変更
  • Styleseetの@charset を「"EUC-JP";」から「"UTF-8";」に変更
  • mt.cgiをブラウザで表示し、全て再構築を行う

pgsqlのテーブルを削除するには、以下のファイルを保存して、psql < ファイル名で全削除されます。

drop table mt_author;
drop table mt_blog;
drop table mt_category;
drop table mt_comment;
drop table mt_entry;
drop table mt_ipbanlist;
drop table mt_log;
drop table mt_notification;
drop table mt_permission;
drop table mt_placement;
drop table mt_plugindata;
drop table mt_tbping;
drop table mt_template;
drop table mt_templatemap;
drop table mt_trackback;
drop sequence mt_author_id;
drop sequence mt_blog_id;
drop sequence mt_category_id;
drop sequence mt_comment_id ;
drop sequence mt_entry_id;
drop sequence mt_ipbanlist_id;
drop sequence mt_log_id;
drop sequence mt_notification_id;
drop sequence mt_permission_id;
drop sequence mt_placement_id;
drop sequence mt_plugindata_id;
drop sequence mt_tbping_id;
drop sequence mt_template_id;
drop sequence mt_templatemap_id;
drop sequence mt_trackback_id;
投稿者 yotan : 2004年2月27日 15:44| トラックバック(0)
アンケート
このエントリは・・・
とても役に立った
役に立った
どちらとも言えない
あまり役に立たなかった
全く役に立たなかった
コメント
コメントする

※コメント内にURLを書くとSPAM扱いとなります。2ch風に表記はOKです










名前、アドレスを登録しますか?