いまさら、XOOPS2.0.16aと思われるかもしれないんですが、なかなか新しいのに乗せ返させていただけるチャンスがないので・・・・・・。
参考にさせていただいたのは、
XOOPS 文字コードを utf-8 に変更しよう。 (@【独習】Ajax,CSS,XOOPSカスタマイズ備忘録 | Code.Lover)
とりあえず、メモメモ。(2010.5.20)
これを元に、UTF-8でインストール。
その後、管理画面から、日本語を投稿すると、文字化けっていうか、データベースに空白が入る。
逆にデータベースに直で日本語を書くと文字化けする。
そこで、文字化けをキーワードに調べていると、このような記事が
データベースの文字化け(@XOOPS CUBE 日本サイト)
XOOPS/class/database/mysqldatabase.php 90行目あたり
function connect($selectdb = true)
{
(略)
ツꀀ }
ツꀀ mysql_query(“SET NAMES ujis”, $this->conn); // これを追加
ツꀀ return true;
}
を参考に、
mysql_query(“SET NAMES utf8“, $this->conn);
にしたらうまくいきました。
(2010.5.25)
しかし、その後、データの「~」が「?」になることが判明。
データベースに直で入れても、「~」は「?」になります。
フォームから入れてもそう。
照会順序がujis_japanese_ciとなっているのを、utf8_general_ciにするとよいというのを下記記事に見つけました。
波ダッシュ 全角チルダが?に文字化け Unicode(@ドロップシッピング by リアルマーケットブログ)
phpmyadminを使用して、照会順序を変更していたら、bulletinのテーブルだけ拒否されました。
ので、bulletineの2つのテーブルをエクスポートし、テーブルを削除し、エクスポートしたクエリ分でテーブルを作成する部分を以下のように変更。
`title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
「hometext」と「bodytext」も同様にしました。ちょっと無理やり感たっぷりなのですが、一応これでデータもちゃんと保存できているみたいムム。
ちなみに、utf8でインストールした時点で、照会順序がujis_japanese_ciとなっていたから、私がインストールしなおしている途中に何かした結果ではなさそうです・・・・・・うーん。
(2010.5.28)
コメントを残す