Xoops/文字化け
MySQL4.1以上で文字化けする対処 †
環境 †
概要 †
php.iniの設定もEUC-JP,my.cnfもujisになっているが何故か文字化けする?
結構悩みましたよ。
結局は、MySQL4.1移行に追加された文字変換機能のせいでPHPからPOSTする日本語が
utf-8になっているので、文字化けを起すみたいです。
対処方を発見したので、メモしておきます。
対処法 †
対処方としては、Xoopsの設定ファイルを直接編集して、MySQLに送る文字を無理やり変換するやり方です。
88行目の辺に下記の文字列を追加する。
mysql_query("SET NAMES ujis;", $this->conn);
$ vi class/database/mysqldatabase.php ------------------編集個所---------------------- 83 if($selectdb != false){ 84 if (!mysql_select_db(XOOPS_DB_NAME)) { 85 $this->logger->addQuery('', $this->error(), $this->errno()); 86 return false; 87 } 88 mysql_query("SET NAMES ujis;", $this->conn); 89 } 90 return true; 91 } ------------------編集個所----------------------
これで文字化けしなくなるはずです。