xoops cubeで文字化けが治らないときは(備忘録)

Spread the love

さんざん苦労してxoops cubeのインストールが終わりました。ここまで手間取った理由は、文字化けです。借りているサーバが英語圏のサーバのため、mysql.iniの設定で、サーバ側文字コード設定がlatin1になっていました。

残念ながら、MySql.iniの修正はできませんので、別の方法を試したところ、漸く上手くいきました。

修正箇所は xoopsの /html/install/sql/mysql_structure.php

CREATE TABLE avatar (
avatar_id mediumint(8) unsigned NOT NULL auto_increment,
avatar_file varchar(30) NOT NULL default ”,
avatar_name varchar(100) NOT NULL default ”,
avatar_mimetype varchar(30) NOT NULL default ”,
avatar_created int(10) NOT NULL default ‘0’,
avatar_display tinyint(1) unsigned NOT NULL default ‘0’,
avatar_weight smallint(5) unsigned NOT NULL default ‘0’,
avatar_type char(1) NOT NULL default ”,
PRIMARY KEYツꀀ (avatar_id),
KEY avatar_type (avatar_type,avatar_display)
) TYPE=MyISAM;

テーブル作成部分はこのようになっていますが、このままでは文字コードがlatin1に鳴ってしまいますので、

CREATE TABLE avatar (
avatar_id mediumint(8) unsigned NOT NULL auto_increment,
avatar_file varchar(30) NOT NULL default ”,
avatar_name varchar(100) NOT NULL default ”,
avatar_mimetype varchar(30) NOT NULL default ”,
avatar_created int(10) NOT NULL default ‘0’,
avatar_display tinyint(1) unsigned NOT NULL default ‘0’,
avatar_weight smallint(5) unsigned NOT NULL default ‘0’,
avatar_type char(1) NOT NULL default ”,
PRIMARY KEYツꀀ (avatar_id),
KEY avatar_type (avatar_type,avatar_display)
) TYPE=MyISAM CHARACTER SET UTF8;

このように修正します。全てのcreate tableを直す必要があります。