工人舎SCシリーズ個人的まとめ | FC2ブログ | 技術的独り言
▼私的
[PR] FX | キャッシング
一言掲示板

XOOPS cube で文字化け(クエスチョン'?')になるバグ 2007.11.18(Sun) 16:59

XOOPS Cube で文字化け(クエスチョン'?')になるバグがあるのでイロイロと調整。
ちなみにXOOPS Cube のバージョンは2.1.2。
http://www.peak.ne.jp/support/xoops/
↑からja_utf8-for_CubeLegacy2.x.x.tar.gzをダウンロードして、ZELDAとかtar -zxvf ja_utf8-*とかで解凍して適度なところに置かなきゃいけないですよ。

1.インストール後クエスチョンがXOOPSででる場合は一度データベースを削除しなくちゃいけない

mysql > drop database XOOPS; (←データベースの名前)


2./etc/my.cnfで文字コードをイロイロと設定
ujis → utf8に
例) default-character-set = utf8

こんな感じ↓

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
default-character-set = utf8

[mysql.server]
user=mysql
basedir=/var/lib

[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
default-character-set=utf8

[mysql]
default-character-set = utf8

[mysqldump]
default-character-set = utf8

もちろん、設定した後はmysqlを再起動。

$ /etc/rc.d/init.d/mysqld restart


3.データベースを作成してutf8にする

mysql > create database XOOPS(DB名);
mysql > alter database XOOPS(DB名) character set utf8;

4.設定したURLに再度アクセスしても無駄なので、設定したURL/install/にアクセス。
 → "install"フォルダは削除してると思うのでアップロードしなおす。
   インストール作業はすでにmainfile.phpに必要な情報が書き込まれてるので問題ナッシング(楽ちん)。



[レンタルサーバの場合でかつ文字コードがEUC-JPの縛りを受けている場合] /class/database/mysqldatbase.phpに以下を追加してみる。[sb.xrea.com]

mysql_query("SET CHARACTER SET ujis", $this->conn);

コードの位置は244行目くらいの所。
こんな感じ↓


function &queryF($sql, $limit=0, $start=0)
{
if ( !empty($limit) ) {
if (empty($start)) {
$start = 0;
}
$sql = $sql. ' LIMIT '.(int)$start.', '.(int)$limit;
}

// 2007/11/18 追加
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;
}
}



ちなみに、テストで使ったデータベースはUTF-8に設定していたけど、PHPで"SET CHARACTER SET ujis"とmysqlに渡しても問題なく動作した。
↑d3forumがうまく動作しなかったのでダメでした。サーセン。
拍手 コメントを書く
関連商品の追加

リンク集 foobar's ホームページ・リンク集
リンク集 foobar's ホームページ・リンク集 foobarのmixiプロフィール foobarのmixiプロフィール
日記ランダムジャンプ
リンク集 2bee SNSPIYOへTwitterへmixiのプロフィールへ   ログイン 新しく日記を書く foobarさんの過去の写真一覧を見ることができます 日記をPDFに変換する