桜恋唄
幽遊白書・黒鵺×蔵馬中心、桜枝真央の同人的創作の館

RSS0.91 | RSS2.0 || 桜恋唄 (HOME) » 桜恋唄構築話 » NucleusをEUC-JPからUTF-8へ[2]

NucleusをEUC-JPからUTF-8へ[2]

Contents

Writer:
桜枝真央
Category:
桜恋唄構築話
Posted on:
2011-09-14 18:02

 Nucleus の運用を EUC-JP から UTF-8 に変更する作業の続編です。以下の作業手順のうち2以降の話です。

  1. DB 内のデータをダウンロード、文字化けが出ている部分だけ修正し、上書き
  2. FTP 上のファイルのうち文字コード変換が必要なものを差替え
  3. Nucleus の「グローバル設定」で言語を変更
  4. スキン内の XML 宣言、meta タグ内の言語属性とテンプレートの属性指定を修正

 作業2では FTP 上のファイルをローカルにバックアップし、文字コードを「MultiTextConverter」で一括置換して再度書き戻しています。このソフト、HTML 内の XML 宣言や meta タグも書き換えてくれる優れもの (しかも無料)! ただ諸事情で一部のファイルは「Multi―」を通さず、FTPソフト (CyberDuck) から Jedit で直接開き、文字コードを UTF-8 指定して再保存しています…が、実はこの辺が運命の分かれ道だったらしい。ハマったことがあって散々手こずりました。

 まず文字コードを変換して再アップしたファイルですが、

  1. Nucleus プラグインのうち、言語ファイルと本体が分離されてない古いもの (NP_Board、NP_LinkList 等)
  2. スペシャルスキンパーツに include してる通販カートスクリプト (Nucleus ではない PHP スクリプト)

です。ところが後者はすんなり動かせたのに、プラグインでハマりました。まず、管理画面上の左側メニューで文字化けが発生 (NP_LinkList はメニューを出す設定で、しかも「リンクリスト」とカナ表記の為)。更に、プラグイン管理画面が途中で切れて表示できない。

 あっさり結論を書くと「MultiTextConverter」による変換の際のミスでした。原因が2つあって、まず1つ目は BOM つきになってたこと (これはよくある話…自分の設定ミス)、2つ目はどういう訳か半角バックスラッシュが半角円記号に変わっていたことでした。これは如何にも Mac 使いのドツボ! 1つ目はすぐ気づいたのですが2つ目は Twitter で「PHP のエラーログを取ってみては」と助言を受けてやっと判明しました。有難う奈々穂ちゃん! どうりで FTP から直接保存し直したファイルは動作していた訳だ。同時に思い出したのですが、私が Nucleus 導入の際に EUC-JP で動かすのを決めたのは BOM でハマる人が続出してたからだった記憶が…とほほ。

 作業3は Nucleus 管理画面の「グローバル設定」で「使用する言語」を「japanese-utf8」に変更するだけです。この他メンバー管理画面でも言語設定をいじることが出来るのですが、「サイトの設定を使用」になっていれば特に変更する必要はないはず。

 実はここで不具合に気づき、予定外の作業が発生しています。NP_Amazon のキャッシュ (table 内に記録される) が全部文字化けしていたため、一度 PhpMyAdmin から table をクリアしデータを再読み込みしました。NP_Amazon ともう1つ何か文字コードを指定しなきゃいけないものがありました (これはプラグインオプションから変更)。

 作業4は、スキンやテンプレートが多すぎて何処にあるのか分からなかったので、PhpMyAdmin 上で「EUC」と検索して手作業で置換してます (凄まじくアバウト!)。この他、実は NP_ExtraSkinJP で作ってる部品もあって探すのは手間でした…まだ漏れがあるかもしれない。

 時間かかりそうだと思ったのですが実際は一日で終了しました。表でも多少文字化けが出てた筈ですが、まあ何百何千とアクセスのあるサイトでもないからいいやってことで… (この辺がダメすぎる)。まだ記事の投稿を試してないのでこれがテストになります。今後、文字化け等に遭遇した方は是非、御一報宜しくお願いいたします!

||

コメント

まだコメントはありません。

このアイテムは閲覧専用です。コメントの投稿、投票はできません。

桜恋唄について | 管理人について | サークル情報 | サイトマップ