- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2022-04-03T21:59:52+09:00","","")
#author("2022-04-05T00:58:05+09:00","","")
EUC-JP の PukiWikiサイトを UTF-8 に変換する方法です。
(ツール動作の妥当性確認のため、事例を集めています。変換に成功した場合、このページに「変換が成功した」旨のコメントをお願いします。)
* ダウンロード [#n4776cbc]
[[pw_convert_eucjp_utf8_2.zip>https://ja.osdn.net/projects/pukiwiki/downloads/77085/pw_convert_eucjp_utf8_2.zip/]]
* 注意点 [#h895f2d0]
- 必ず、事前にバックアップを取得しておいてください。変換に失敗やファイルの破損・紛失が起きる可能性があります。
- <変換元PukiWikiディレクトリ> と <出力先ディレクトリ> は必ず異なるディレクトリをしてしてください。
- 変換後は十分な動作確認を行ってから利用を行ってください。
- 期待しない動作が発生した場合はこのページにコメントをお寄せください。
* 使い方 [#v1dfa57e]
ターミナル (Windowsではコマンドプロンプト) から実行するツールです。
(Webブラウザから利用するツールではありません。)
(1) ファイル名の長さチェック
php -r "include('pw_convert_eucjp_utf8.php'); convert_eucjp_to_utf8('<変換元PukiWikiディレクトリ>', '<出力先ディレクトリ>');"
実行例:
$ php -r "include('pw_convert_eucjp_utf8.php'); convert_eucjp_to_utf8('../pukiwiki_dir', '../converted_utf8');"
DETECTED: 20605 files to convert.
PASS - file name length check.
Please execute convert with '$filename_check_only=false'.
(2) 変換の実行
php -r "include('pw_convert_eucjp_utf8.php'); convert_eucjp_to_utf8('<変換元PukiWikiディレクトリ>', '<出力先ディレクトリ>', false);"
**補足 [#qd36e43b]
日本語のページ名をEUC-JPからUTF-8に変換すると、内部ファイル名の長さが1.5倍になります。
このツールではUTF-8でのファイル名がシステムの制限を超えないことのチェックを行います。
- ページ名長さがUTF-8での上限115bytes (すべて日本語文字の場合39文字まで)
- 添付ファイルの内部ファイルの長さ240bytes
この制限にかかって変換できない場合、あらかじめ(変換前のEUC-JPの状態で)ページのリネームや添付ファイルのリネームで、ファイル名を短くする対応を行ってください。
* EUC-JPのURLをUTF-8のURLにリダイレクトする [#redirect]
EUC-JPからUTF-8に変換すると、日本語を含むページのURLが変わります。
[[BugTrack/2195]] UTF-8に移行したサイトに、移行前のページ名(URL)に対するアクセスがあった場合のケア
に、PukiWiki 1.5.4 での対処法の記載があります。
例:
https://pukiwiki.osdn.jp/dev/?%B3%AB%C8%AF%C6%FC%B5%AD (EUC-JP時代のURL) にアクセスすると、&br;
https://pukiwiki.osdn.jp/dev/?%E9%96%8B%E7%99%BA%E6%97%A5%E8%A8%98 にリダイレクトされます。(PukiWiki-devサイトでこの仕組みを導入済み)
----
- ファイルが見つかりません -- [[dex]] &new{2022-03-31 (木) 16:41:42};
-- すみません。期待通りに動いていなくていったん公開を止めました。しばらくお待ちください -- [[umorigu]] &new{2022-04-01 (金) 00:22:48};
-- version 2として再公開しました。 -- [[umorigu]] &new{2022-04-03 (日) 20:07:02};
- [実績1] PukiWiki 1.4.7_notb, 1.5.0, 1.5.1, 1.5.2, 1.5.3, 1.5.4 の各EUC-JP版をこのスクリプトでそれぞれUTF-8版に変えることができます -- [[umorigu]] &new{2022-04-05 (火) 00:56:01};
- [実績2] このサイトPukiWiki-devの2015年当時のEUC-JP版のアーカイブをこのツールでUTF-8に変換することができます -- [[umorigu]] &new{2022-04-05 (火) 00:58:05};
#comment