XOOPSの日本語をEUCからUTF-8に変える

XOOPS
07 /14 2008

XOOPS Cube Legacy のインストールで japanese を選ぶと、EUCになってしまう。
(画面まわり, MySQLとも)

参考:文系のためのXOOPS入門 - XOOPS Cube LegacyをUTF-8でインストールする
上の説明を参考にして、
extras/extra_languages/ja_utf8/html/language/ja_utf8 を
html/language
にコピーして、さらに
extras/extra_languages/ja_utf8/html/modules/***/language/ja_utf8 を
html/modules/***/language にコピーしてやる。
*** は各モジュール名)

その後、XOOPSの互換モジュール ?? プリファレンス ?? 全般設定 で 使用言語 をみると ja_utf8 が選択できるようになっているので、これに切り替えてやればよい。
これにより画面まわりUTF-8に変更できる。

続いてMySQLをEUCからUTF-8に変える方法。
phpMyAdminを使う。
TOP画面から[エクスポート]。
データベースのリストに、information_schema mysql test 等が並んでいるので、XOOPS用のデータベースを1つ探しだし、それを選ぶ。
[レ]DROP DATABASEを追加
[レ]ファイルに保存する
あとはデフォルトのまま[実行する]
→ localhost.sqlファイルがダウンロードできる。
(localhost の部分はHOST名)

このファイルを秀丸で開き、念のため localhost-utf8.sql にて別名保存してから、
16行目辺りの
CREATE DATABASE `xp` DEFAULT CHARACTER SET ujis COLLATE ujis_japanese_ci; を
CREATE DATABASE `xp` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; に変更。
(xp はデータベース名)
[検索]-[置換]を使って、
CHARSET=ujis; を
CHARSET=utf8; に一括置換。
これ以外に、テーブルやフィールドの個別情報としてujisを指定している箇所があるかも
しれないので、一応 CREATE TABLE 文のそれぞれに目を通しておいた方が良い。
(おそらく無い)
秀丸の編集が終わったら保存終了。

phpMyAdminに戻り、[インポート]。
更新したファイルを読み込ませる。

以上で作業完了。
XOOPSで正常にDBが見えるか(特に日本語)確認する。
書き込みテストも行う。
OKなら完了。

Paq

忘れっぽい中年プログラマが、日々の開発作業の中で、忘れると困ることを書き留めています。