XoopsをUTFに
Xoopsの文字セットは本来,EUC-JPしかサポートしていないが,MySQL5がUTF-8に対応しており,データベースやWeb関係の文字セットをUTF-8に統一して,文字化けを回避したいので,XoopsをUTF化した。主にやることは以下の通り。
- xoops/以下の日本語のファイルをすべてUTF-8に変換する。大量のファイルの文字コードを変換するには文字コード変換ツール「KanjiTranslatorが便利。フォルダごとドラッグすれば,一括で変換してくれる。
- xoops/language/japanese/global.phpの中身を以下のように変更
//define('_CHARSET', 'EUC-JP'); define('_CHARSET', 'UTF-8');
- MySQLのデータの文字セットをEUCからUTFに変換する。phpMyAdminの場合,手順は以下の通り。
- xoopsデータベースを選択し,すべてのテーブルをSQL形式でテキストファイルにエクスポートし保存する。
- 保存したSQLのテキストファイルをUTFの文字セットに変換する。TeraPadの場合「文字/改行コード指定保存」。
- 文字セットUTFに変換したSQLファイルをphpMyAdminにインポートする。
- フォーラムのスレッドの題名が文字化けするときは,mb_convert_kanaの内部エンコーディングを明示的にUTF-8にするとよい.
define('_CHARSET', 'UTF-8'); //$text = mb_convert_kana($text, 's'); $text = mb_convert_kana($text, 's', _CHARSET);