[Codeigniter-users] さくらでのDB connection

Back to archive index

kunitsuji tsuji****@m-s*****
2008年 9月 4日 (木) 15:27:18 JST


 kunitsujiです。

該当部分です。

database/drivers/mysql/mysql_driver.php

    /**
     * Set client character set
     *
     * @access  public
     * @param   string
     * @param   string
     * @return  resource
     */
    function db_set_charset($charset, $collation)
    {
        //2008-07-09 KUNIHARU Tsujioka
        if ($this->_version() >= 4.1)
        {
            return @mysql_query("SET NAMES '".$this->escape_str
($charset)."' COLLATE '".$this->escape_str($collation)."'", $this->
conn_id);
        }
        return TRUE;
    }

バージョンチェックして4.1以上のみ処理、それ以外はスルー。
これで4.0以下のもの、さくらのレンタルサーバで動きます。

> kunitsujiです。
>
>パッチ作成しました。
>
>>天野です
>>
>>さくらのレンタルサーバーのスタンダードでCIを動かそうとしているのですが、
>>DBの接続がうまくできない問題が出てきました。
>>
>>具体的には設定ファイルのdatabase.phpの中のchar_setがutf8セットされている
>>値でセットがうまくできないという不具合です。
>>
>>CI 1.6.3の場合
>>
>>system/database/DB_driver.php
>>
>>の152行目の
>>
>>if ( ! $this->db_set_charset($this->char_set, $this->dbcollat))
>>
>>あたりが失敗して
>>
>>$this->display_error('db_unable_to_set_charset', $this->char_set);
>>
>>でエラーメッセージを吐き出して落ちているようです。
>>
>>mysql  Ver 12.22 Distrib 4.0.27
>>
>>というかなり古いバージョンのmysqlがさくらで動いているのが問題の
>>ようですが、これをなんとかして回避された方はいますか?
>>
>>以前さくらでCIを使った時はPDOドライバを使ってPropelを使っていた
>>ので、CIのDBを全く使わなかったためこの不具合は出ませんでした。
>>
>>Takeshi Amano
>>
>>Ads are the cave art of the twentieth century - Marshall McLuhan
>>
>>_______________________________________________
>>Codeigniter-users mailing list
>>Codei****@lists*****
>>http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users
>
>_______________________________________________
>Codeigniter-users mailing list
>Codei****@lists*****
>http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users




Codeigniter-users メーリングリストの案内
Back to archive index