XOOPSが使うMySQLの移行メモ。
こんばんわ。
今夜は、モバイルとは全く関係無いメモです。
XOOPS 2.0.16aで使われているMySQLを4.0から5.0へ移行した場合、文字化けを起こします。
原因と考えられるモノは・・・。
対応策としては・・・。
-
- MySQL4.0からダンプデータをエクスポート
- MySQL5.0へujisでデータをインポート
この2つに加えて・・・。
-
/class/database/mysqldatabase.phpの、236行目に以下の1行を追加
mysql_query("SET CHARACTER SET ujis", $this->conn);
参考:加えたソースの抜粋は以下。
〜(省略)〜
function &queryF($sql, $limit=0, $start=0)
{
if ( !empty($limit) ) {
if (empty($start)) {
$start = 0;
}
$sql = $sql. ' LIMIT '.(int)$start.', '.(int)$limit;
}
mysql_query("SET CHARACTER SET ujis", $this->conn);
$result = mysql_query($sql, $this->conn);
if ( $result ) {
$this->logger->addQuery($sql);
return $result;
} else {
$this->logger->addQuery($sql, $this->error(), $this->errno());
$ret = false;
return $ret;
}
}
〜(省略)〜
これで無事に復旧♪
一時はどーなる事かとドキドキしました(´∀`)