La!cooda WIZというフリーのグループウェアを使えないかー?という事で、上司の指示の元、素人なりにあたふたしながら導入を試みているのですが、これがどうにも上手く行きません。トップページの表示までは漕ぎ着けたんだけど、所々の文字が化けてしまうという。文字化けしているのは、MySQLのDBから読んでいる文字列。my.iniのcharacter-setは、指定通りのujisになってるんだけどなぁ。ユーザーフォーラムに同事例はあったものの、それでも解決には至らず。土曜日はこれで潰れてしまいましたわ_no
導入用SQLスクリプトのCREATE DATABASEのところで、CHARACTER SET ujisと明示的に指定して作り直せばどうだろう?とか、今そんな事考えてます。win版の場合は、そうしてやらないと、sjisとかutf8で作られちゃうとか……ありそうに思えてきた。無いか。無いだろうな。でも午後になったら一応やってみよう。
うぃー、なんとか解決。一旦DBを削除して、導入用SQLスクリプトの先頭に"SET CHARACTER SET ujis;"を追加してやって再構築したらOKでした。結局のところ、構築の段階で文字化けしたデータが格納されてしまっていたという事ですな。同じ事で詰む人が出るかも知れないので、過程みたいなものをメモっておこう。

La!cooda WIZ Ver 1.4のインストール

PHPMySQLの設定はインストールガイドのままでOK。createDbForMySQL.sqlでDBを構築する前に、以下のファイルを変更する。なお、ファイルはEUCで書かれているので、馴染みの無い人(含:自分)は注意。

  • createDbForMySQL.sqlを変更。先頭に以下の行を追加。(文字化け対策)


SET CHARACTER SET ujis;

  • このバージョンのMySQLでは、AUTO_INCREMENTの初期値にゼロが使えないので、"DEFAULT 0"の記述を削除する。(下記の一箇所)


CREATE TABLE IF NOT EXISTS forums (
id int unsigned DEFAULT 0 NOT NULL AUTO_INCREMENT,
      ↓
id int unsigned NOT NULL AUTO_INCREMENT,

  • インストールフォルダの\bbs\db\mysql.phpを変更。上記の理由により、"AUTO_INCREMENT"で検索をかけて"DEFAULT 0"の記述を削除。数箇所ある。

と言った感じで、

書き忘れは無い……と思う。詳しい動作確認がまだなんで、何かあったら随時追記って事で。
疲れた_no
ついでに、休日分の日記の補完をかんりょ。