Vine4.0で 「XOOPS」のコミュニティサイトを運営しておりま
したが、昨日、雷で停電となり、Linuxサーバが停止しました
。
Linuxサーバの電源スイッチから起動を掛けました。
そして、今まで問題なく運営されていた「XOOPS」のコミュニ
ティサイトにアクセスすると画面が真っ白で何も表示されなく
なりました。
XOOPS立ち上げ時にもこのような問題が生じました。
その時は以下のような処置で対策できました。
xoopsをインストールする前に、/etc/my.cnfを編集
[mysqld]
skip-character-set-client-handshake →追記
MySQLの再起動
ソフトを作成して管理画面に入ったところ、あらゆるところで
文字化けが生じておりました。
そこで文字化け対策についていろいろ調べたのですがどれも対
策になりません。
そこでお聞きしたいのですが、この文字化けを直してページを
表示させるためにはどのようにすればよいのでしょうか?
宜しくお願いします。
以下のような対策方法を見つけたのですが、
mysqldatabase.phpのどの部分に挿入すればよいのかわかりま
せん。
ご教授お願い致します。
・方法2『クライアントの文字コードを明示的に指定する』
PHPコードの中でクライアントの文字コードを指定するクエリ
「SET NAMES 'ujis';」を発行します。
[例]/class/database/mysqldatabase.phpのconnectメソッドで
以下の一行を追加します。
mysql_query("SET NAMES 'ujis'", $this->conn);
'ujis'はMySQLの文字コードで、EUC-JPに相当しま
す。
'binary'を指定しても文字コードの自動変換機能を
オフにすることはできますが、厳密には'ujis'を指
定するのが正しいと言えるでしょう。
いずれの方法にしてもデータベースの文字コードがujis(EUC-JP)
になっていることが前提です。
また、my.cnfには[mysql]グループや[client]グループでクラ
イアント側の文字コードを指定することもできますが、PHPはmy.cnf
を読みませんのでその指定は反映されません。
インストールしているものは以下の通りです。
[root@localhost root]# rpm -qa | grep MySQL
MySQL-client-5.0.27-0vl3
MySQL-shared-5.0.27-0vl3
MySQL-Max-5.0.27-0vl3
perl-DBD-MySQL-3.0007-0vl1
MySQL-devel-5.0.27-0vl3
MySQL-server-5.0.27-0vl3
[root@localhost root]# rpm -qa | grep mysql
php-mysql-4.4.4-0vl6
[root@localhost root]# rpm -qa | grep php
php-4.4.4-0vl6
php-apache2-4.4.4-0vl6
php-pear-4.4.4-0vl6
php-mysql-4.4.4-0vl6
[root@localhost root]#
Follow-Ups:
- [vine-users:077040] Re: MySQL の文字化け対策について XOOPSKanatsuka Masami
- Prev by Subject: [vine-users:077022] Re: デュアルモニター及びマウスについて
- Next by Subject: [vine-users:077024] Re: デュアルモニター及びマウスについて
- Previous by thread: [vine-users:077017] Re: Vine 4.1 での SATA の扱い
- Next by thread: [vine-users:077040] Re: MySQL の文字化け対策について XOOPS
- Indexes:[Main][Thread]