2006年3月6日月曜日

CentOS4.1とXOOPS+OpenPNEの組み合わせで文字化け

予算が一切つかなかったので、サイト本体はXOOPS、SNSはOpenPNEで同じマシン上に構築したいと思っているのだが(このこと自体が無謀という話も・・・)、OpenPNEをインストールしたマシンにXOOPSを入れようとするとどうしても管理画面での日本語入力が文字化けするのだ。
OpenPNEはSJIS、XOOPSはEUC-JPなので、XOOPSのセットアップ時は、

create database xoops default character set ujis;
としてデータベースのキャラクタセットを指定し(MySQLが4.1以上の場合)、httpd.confのデフォルトキャラセットをnoneに、 my.cnfのデフォルトキャラセットをEUC-JPに、php.iniのmbstringを適当に設定してインストールするんだけどどうしても管理画面が文字化けする。たぶんphp.iniのmbstringの設定だろうと思ってあらゆる設定に変えて試したけど直らないんですね。
fedora3の同様の環境で試したところ一発で問題なく表示されました。ということはCentOS4.1の固有の何かがあるんでしょうか。これ以上は貧困な知識の俺としては手の出しようがないのでググりました。すると、
/class/database/mysqldatabase.php236行目付近の$result =& mysql_query($sql, $this->conn); の上にmysql_query("SET CHARACTER SET ujis", $this->conn);を追加
という情報がありました。これを試してみるとうまくいきました。今のところ他に回避方法が見つからないのでこのままにしている。あー、3時間くらいはまってしまったよママン・・・。

0 件のコメント: