xoops-2.0.16a-JPをmysql4.1でphpmyadminのデータが文字化け

xoops-2.0.16a-JPをインストール。

EUCで運用したい。

DBはmysql4.1.22。

phpMyAdmin – 2.11.9.5

 

4.1は自動変換しちゃうという困ったチャン。

 

まず、新しいDBを作成。照合順序をEUCなのでujis_japanese_ciを選択。(このバージョンのphpMyAdminだと選択できます)

 

ダウンロードしてきたxoops-2.0.16a-JPのままでインストールするとDBのデータが文字化け!!

これでは運用に支障があるので

 

MySQL 4.1 にて XOOPS 2.0.16a JP を動かす

 

書いてあるとおりに修正してみたものの、インストール後のxoopsのトップページの左メニューのメニューのタイトル部分が???となっている。

 

ガーン(´;ω;`)ウッ…

 

DBはどうかな〜?って見たけど(xoops_groups の中を見た)????になっている〜

 

ガーン(´;ω;`)ウッ…

 

ということで上司がアドアバイスをくれました!!

 

class/database/mysqldatabase.php 90行目

 

function connect($selectdb = true)
{
  if (XOOPS_DB_PCONNECT == 1) {
    $this->conn = @mysql_pconnect(XOOPS_DB_HOST, XOOPS_DB_USER, XOOPS_DB_PASS);
  } else {
    $this->conn = @mysql_connect(XOOPS_DB_HOST, XOOPS_DB_USER, XOOPS_DB_PASS);
  }

// この行を追加する
        //ここから
        if( preg_match(“/^4\.1/”,mysql_get_server_info($this->conn) ) ){
            mysql_query(“set character_set_connection = ujis”, $this->conn);
            mysql_query(“set character_set_database = ujis”, $this->conn);
            mysql_query(“set character_set_results = ujis”, $this->conn);
            mysql_query(“set character_set_server = ujis”, $this->conn);
            mysql_query(“set character_set_client = ujis”, $this->conn);
        }
        //ここまで
        return true;
}

 

これでうごいた〜

 

コメント

タイトルとURLをコピーしました