PukiWikiをEUCからUTF-8に変更


投稿日:2011年9月20日
  • 8
  • 0


Facebookのコメント欄を諦め切れないw

前回Facebookプラグインを導入するにあたりEUCの限界を痛感し、そもそも2006年からメジャーアップデートの無い現状を考えれば素直にUTF-8に移行する方が作業性が良いと判断。
現状ページ数450程度、サイト開設から2カ月程度なので、まだダメージは少ないと判断。この程度の量なら…と考えたが、思ったよりも重労働だったw


1.まずはバックアップ

これは絶対必要。出来ればzipファイルなどにまとめて保存しておいて、ミスしてファイルが壊れたときに解凍という復活の呪文を唱えようw


2.こちらを参考にファイルをエンコード

data2utf8.php.txt」という素晴らしいPHPファイルを実行するだけで手軽にUTF-8へ変換できる。(ファイルが無くなることが多いためこちらにも置かせていただく。)

使用法は「data2utf8.php.txt」を「data2utf8.php」へリネーム。
index.php」と同じトップのディレクトリに「data2utf8.php」を追加してブラウザで「http://あなたのサイト/data2utf8.php」と入力し実行するだけだ。

長いファイル名の場合はエラーが出る。当サイトの場合はアクセスカウンターのデータを格納するフォルダである「counter」フォルダのデータを変換中にエラーが出て止まった。

対処法は一度「counter」フォルダのデータを別の場所に移して再度「data2utf8.php」を実行することで「counter」以外は全て変換できた。(変換できなかったファイルは手動でエンコードするか、諦めて自動で作成されるに任せるw)

変換後は各フォルダにUTFファイルの入ったフォルダがあるので、EUCファイルと入れ替えよう。
conv_ts.php.txt」なるタイムスタンプを変更するファイルもあるが9時ずれる程度ということで今回は使用しなかった。

上記PHPを使用するにあたり、いきなりレンタルサーバで使用するのはやめたほうが賢明だ。ミスをしたときのことも考えて「xampp」などを使ってローカル環境で使おう。


3.プラグインもエンコード

上記のPHPではエンコードされないのでテキストエディタの「秀丸」を使い手動でエンコードする。自動で変換してくれるフリーソフトもたくさんあったが、どれを試しても上手く行かなかった。(使い方が悪かったのかもしれない)
さらにエンコードだけでは動かないプラグインもあるので、適宜変更。

sitesearch.inc.phpでの例

(製作者のサポートは終了しているので注意が必要)

20行目あたり

 $target_dir = './wiki';

28行目あたり

 $return_url = '././index.php';

34行目あたり

 $kcode_file = "utf-8";

47行目あたり

$disppage = rawurlencode('サイト内検索'); //検索結果を表示する頁<

78行目あたり

$ret .= '<input type="text" name="WORD" value="サイト内検索" id="mmado">  <input type="submit" value="検索" id="mbotton">';

81行目あたり(これは削除。メニューバーに表示させるためラジオボタンはいらなかった)

$ret .= '<input type="submit" value="検索">';

234行目あたり

$wtarget = '"../../' . $pukiwikidir . '/index.php?'.$UrlFileName.'"';

といった具合にプラグインによって手を加える必要があるものがある。


4.添付ファイルの修正

上記変換ではwikiファイルなどは完璧に変換されたが、添付ファイルを参照できなくなっていた。ファイル数もそれほど無いので「添付ファイルページ」にある「全ページの添付ファイル一覧」を参考にアップロードしなおす。


以上で「UTF-8」化が完了。前回挫折したFacebookのコメント欄も問題なく動作した。
もしも「EUC版」とどちらを使うか迷っている方は初めから「UTF-8」を使うことをお薦めしますw
グローバルスタンダードもコロコロ変わるが現時点では「UTF-8」に分がある。

アクアリウムwiki」こちらでコメント欄ともどもしっかりと動作している。


現在のページを共有する



現在のページに関連する記事

PukiWikiの初期設定 PukiWikiの初期設定
Another HTML-lint gatewayでPukiWikiをチェック Another HTML-lint gatewayでPukiWikiをチェック
PukiWikiをEUCからUTF-8に変更 PukiWikiでFacebookなどソーシャルメィア用にOGPを設定する方法
公式TweetボタンでURLが化ける 公式TweetボタンでURLが化ける
サーバへPukiWikiをインストール サーバへPukiWikiをインストール
facebookのCommentをPukiWikiに追加 facebookのCommentをPukiWikiに追加
PukiWikiをEUCからUTF-8に変更 PukiWikiをビジュアルエディタ(TinyMCE)で編集できるプラグインを作成

おすすめの記事

Google Feed APIの代替手段としてjQueryだけでRSSを表示する方法

Google Feed APIの代替手段としてjQueryだけでRSSを表示する方法

UWSCでEXCELの作業を自動化する方法

UWSCでEXCELの作業を自動化する方法

WordPressのサイトをHTTPS化して学ぶLet’s Encryptの使い方

WordPressのサイトをHTTPS化して学ぶLet’s Encryptの使い方

「アマレコTV」でWindows 10のPC画面に表示されている動画を撮影する方法

「アマレコTV」でWindows 10のPC画面に表示されている動画を撮…

WordPressの新・旧ループからカスタムクエリ・アーカイブまで徹底解説

WordPressの新・旧ループからカスタムクエリ・アーカイブまで徹…

作業効率を飛躍的に向上させる!実務で使うIllustratorのショートカット一覧

作業効率を飛躍的に向上させる!実務で使うIllustratorのショー…

これ以上ないくらい簡単な例から学ぶ、レスポンシブwebデザインの作り方

これ以上ないくらい簡単な例から学ぶ、レスポンシブwebデザイン…

ページ編集の手間を劇的に減らす、Custom Field Templateでカスタムフィールドを作る方法

ページ編集の手間を劇的に減らす、Custom Field Templateでカス…


コメントを残す

コメントは認証制のため、すぐには反映されません。

プログラミングに関する質問は「日本語でプログラミングの悩みを解決するQ&Aサイト sukegra」をご利用ください。