Top > Documents > About the migration from EUC-JP to UTF-8

About the migration from EUC-JP to UTF-8

PukiWiki Plus! I18N では、従来の文字コード(EUC-JP)から UTF-8 へ移行しています。 この変更に伴い、既にEUC-JPで運用されている方は、各文書を UTF-8 に変換する必要があります。

文書ファイルの内容も変換する必要がありますが、ファイル名そのもの*1の変換も必要となります。 文書ファイルの内容のみであれば、nkf などのツールでも可能ですが、ファイル名までの変換は できません。

PukiWiki Plus! I18N のパッケージでは、UTF-8への移行ツールを梱包しています。

  • 必要なスクリプト
    • ./tools/data2utf8.php.txt
    • ./tools/conv_ts.php.txt

作業環境の準備

現在、公開中の文書に対して変換するのも1つの方法ですが、 まずは、Windows XP などのクライアントに、PHP のプログラムを導入して PukiWiki Plus! の稼動環境を作り、そこで変換させる方法が安全かと思います。 また、文書数が多く変換処理においてタイムアウトするような場合、クライアント側での作業であれば、 1度に変換する文書数を分割して、ゆっくりと作業することも可能かと思います。

このような方法をとる場合には、サーバで公開している文書と手元で変換している文書に違いが発生*2しないように、一時的にリードオンリーにするなどの対応が必要になるかもしれません。

参考サイト
  • All About
  • PHP
  • phpdev
    phpdevは、PHP/Apache/MySQL/PERL/phpMyAdmin/PHP-GTK を一発導入できるようにした win32用パッケージ

UTF-8 移行支援スクリプト (data2utf8.php.txt)

まずは、data2utf8.php.txt のファイルの内容を確認してみてください。

使用方法

  1. バックアップをとる
  2. PukiWiki Plus! I18N のファイルを展開する
  3. 2.で展開したところに、現在、稼動していた(EUC-JPの)データを上書きする
  4. 通常 PukiWiki を設定しているように DATA_HOME の定義
  5. data2utf8.php.TXT を必要ならば data2utf8.php にリネームする
  6. 実行
    php -f data2utf8.php
ブラウザから実行する場合
権限上の問題があるので、 * .htaccess などの定義を適宜変更する必要があります。 変換処理時のみ、.htaccess を消すなどして実行してみてください。
タイムアウトの場合
ini_set() の値を変更して反映される環境の場合は、適当に大きな値に変更して再実行してください。
上書きするデータ(変換されるデータ)
以下の各データです。
  • ./wiki/
  • ./diff/
  • ./backup/
  • ./cache/
  • ./attach/
  • ./counter/
  • ./trackback/

    詳細は、Documents/Update を参照ください。

タイムスタンプ修正スクリプト (conv_ts.php.txt)

このスクリプトは、LOCALZONEの排除 および pukiwiki.dev:BugTrack2/76の対処するためのものです。

これらデータは、過去のデータとなっていますので、9時間の誤差を気にしないのであれば、 無理に実行する必要もありません。

影響するデータ
データの種類保存場所など
Trackback 保存データ./trackback/*.txt
Referer 保存データ./trackback/*.ref
Backup データ./backup/*

関連ページ

その他のツール

ファイル名コンバートツール

Yoshiiさんが作成された ファイル名コンバートツール によって、便利に変換できるようです。

Windowsの人へ

KaSHIMさんがフリーで公開している KanjiTranslatorを使用することによってファイル中の文字コードと改行コードを変換できます。


*1 wiki/XXX.txtのXXXそのものがEUC-JPで構成されているからです。
*2 更新されてしまう可能もあります。気にしないのであれば、この対応は必要ありません。

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes
Last-modified: Fri, 25 Jan 2008 23:20:32 HADT (950d)