PukiWikiをEUCからUTF-8に変更


投稿日:2011年9月20日
  • 4
  • 3


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)で編集できるプラグインを作成

おすすめの記事

開発の最前線でクリエイター・エンジニアに必要なプログラミング言語

開発の最前線でクリエイター・エンジニアに必要なプログラミン…

rsyslogを利用したログファイル作成と、logrotateを利用したログのローテーション

rsyslogを利用したログファイル作成と、logrotateを利用したロ…

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

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

誤って削除したGoogle Chromeのブックマークを復元する方法

誤って削除したGoogle Chromeのブックマークを復元する方法

初心者でも安全なLAMP環境を構築する方法を解説

初心者でも安全なLAMP環境を構築する方法を解説

DNS Amp攻撃の解説と、踏み台にされないためのBIND DNSの設定

DNS Amp攻撃の解説と、踏み台にされないためのBIND DNSの設定

WordPressで手軽にAdblock対策するならBetter Stop AdBlockで決まり!

WordPressで手軽にAdblock対策するならBetter Stop AdBlockで決…

WordPress公式テーマTwenty Tenを子テーマでレスポンシブWebデザインに変更

WordPress公式テーマTwenty Tenを子テーマでレスポンシブWebデ…


コメントを残す

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

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