DMSGuestbook の日本語対応

WordPress で簡単にゲストブックを設置できるプラグイン、DMSGuestbook を導入してみました。

設置の手順は簡単で、Exec-PHPrunPHP が導入されているなら、プラグインを有効化して、指示された手順に従えばすぐに使えるようになります。

具体的には、

  1. ゲストブック用のページを作成し、PHP を実行できる状態で、<?php DMSGuestbook(); ?> と記述
  2. ゲストブック用のページIDを管理画面の DMSGuestbook Option → Basic settings 内 のPage ID に記入
  3. お好みで設定を変更(表示部分のテキストを日本語にする / スパム対策のために CAPTCHA や 計算問題を使う など)

といった感じですね。

日付部分の文字化け

が、なぜか Date / Time format / Time offset: の項目で、ロケールを ja_JP.UTF8 にしても、日本語が混じると化け化けになってしまいます。ロケールの指定自体は合っていて、メッセージの管理画面では正常に表示されるのに、設定画面とゲストブック本体では化けるというのは奇妙な感じ。

ということで、ソースを読んでみると、化けている場所の表示部分は、

<?php echo htmlentities(strftime(get_option('DMSGuestbook_dateformat'), $offset), ENT_QUOTES); ?>

となっていて、htmlentities 文字化けでググると、htmlentities()による文字化け という情報がヒット。

ひとまず、admin.php および dmsguestbook.php 内にある、htmlentitieshtmlspecialchars に置換してみると、良い感じなのでこれで様子見。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメント一覧 (10件)

  • 初めまして。バージョンや環境が違うためかもしれませんが、
    DMSGuestbook 1.12.0 +Exec-PHP 4.8 だと、処理エラーが出てしまいました。
    原因を追及出来ればよかったのですが、自分では難しいことから断念。

    もし宜しければ、お使いになられているDMSゲストブック、execPHP(runPHP)のバージョンを教えて頂けないでしょうか?

    今後とも頑張って下さいね^^

  • >popcorn さん
    当方の環境ですが、

    • PHP 5.2.0
    • DMSGuestbook 1.11.0
    • runPHP 2.3.1

    のようになっています。
    DMSGuestbook はちょっと前のバージョンで自動アップデートしたら、日本語ロケールファイルが消されてしまったので、あんまり頻繁に更新はしていません。
    私も個別のエラーに対応できるほど詳しくはないですが、困ったときは一度プラグインをアンインストールして、データベース内に作成されたプラグインのテーブルを削除して、きれいに入れ直すことからやるのがいいかもしれませんね。

  • はじめまして。

    Jkun’s Cafeさんで紹介されていたので飛んできました。
    BBSプラグインを探していたところなので、大変参考になりました。
    無事に設置できました。

  • こんにちは 
    Dmsguestbook このページを参考にさせて頂いて設置してみましたが、日本語がどうしても表示されないので、何か解決のヒントでも頂ければとコメントつけさせていただきました。
    おかげさまで、ゲストブック自体は動くようになったのですが、どうしても日本語が表示されずに、英語で表示されてしまいます。
    ちなみにサーバーのPHPはver 4.4.2です。Exec-PHP や runPHPなどは入れていませんが、ページで、表示されます。

    languageフォルダの中にjapanese.txtを作って、admin.phpの中の”language”設定もjapanese.txtに変更しました。
    で、Wpの自分のサイトの中で、languageの設定も日本語にしています。
    ただ、ここでjapanese.txtを選択すると、文字化けしていますが・・UTF-8で保存しているのですが。

    まことに恐縮ですが、もしなんらかの解決する方法についてご意見でもを頂ければと思います。
    よろしくどうぞ。

  • >JIro さん
    管理画面は japanese.txt を選択しても日本語化されませんが、公開してあるゲストブックのフォームの部分が日本語化されないということでよろしいでしょうか?
    また、管理画面で言語ファイルを変更しようとしたら、文字化けしていましたが、これは正常(?)、というよりおそらくは PHP の設定の問題と思われます。
    フォームからの書き込みが正常に行われているようでしたら、言語ファイルの部分の問題ではないかと想像は付くのですが、どこが原因かまでは判断できないです。
    PHPの設定の問題でしたら、別のプラグインの場合ですがこちらのように設定を変更したら文字化けが直ったという情報もあったりしますので、その辺から確認されてはどうでしょうか。

  • DMSGuestBook覚書-言語編集…

    せっかくなので、DMSGuestBookの項目(設定画面ではなく、表示される部分)を触ってみる。
    DMSGuestBookのLanguageフォルダにテキストファイルが入っているので、ここへ日本語を入れれば良いだろうと突っ込むf^ ^;
    (正確には日本語とフィンランド語のちゃんぽんファイル:パーミッション644)
    作り方の見本は
    Language settingsでREADME.txt(赤文字のやつ)をクリックすれば表示される。
    fi-ja.txtとして突っ込むがGuestbook settings…

コメントする

目次