フォーラム

WassUpの文字化け (4 件の投稿)

  1. watakei
    メンバー
    2 years前の投稿 #

    WassUpの最新バージョン1.7.1にアップグレードしたところ、「コメント投稿者」が日本語の場合文字化けするようになりました。
    以前のバージョンでは、文字化けせずに表示出来ていたのですが…
    もし解決方法がありましたら、教えて下さい。

  2. htachi
    メンバー
    1 year前の投稿 #

    もう解決済みかもしれませんが?
    私のところでも wassup バージョン 1.7.2.1 で同じ症状が出ていて、webで検索しましたが、対策方法を見つけられませんでした。
    検索しても、質問が余りあがっていなかったので他で起きていないのかと思っていましたが。
    DBを調べたら、コメント投稿者はwassup のテーブルに文字化けした状態で記録されています。ということは、表示処理での問題でなく、コメント投稿者の取得に問題があるようでした。
    wp-content/plugins/wassup/wassup.php を調べたら、コメント投稿者はcookieから取得しており、下記のutf8_encode()が問題のようです。
    クッキーの中に記録された文字列は utf-8だと思われますが、これをさらに utf-8にエンコードしてしまう結果と思われます。
    utf8_encode()を外せば文字化けしません。

    // 修正前
    $comment_user = (isset($_COOKIE['comment_author_'.COOKIEHASH]) ? utf8_encode($_COOKIE['comment_author_'.COOKIEHASH]) : '');

    // 修正後
    $comment_user = (isset($_COOKIE['comment_author_'.COOKIEHASH]) ? $_COOKIE['comment_author_'.COOKIEHASH]) : '';

  3. htachi
    メンバー
    1 year前の投稿 #

    修正の記述に間違いがありました。括弧の対応が間違ってました。
    正しくは、
    // 修正後
    $comment_user = (isset($_COOKIE['comment_author_'.COOKIEHASH]) ? $_COOKIE['comment_author_'.COOKIEHASH] : '');

  4. watakei
    メンバー
    1 year前の投稿 #

    回答ありがとうございました。
    しかしながら↑の対応では解決しませんでした。
    ちなみに文字化けしないバージョン 1.6.5も↑の箇所は同じ記述です。

返信

ログイン しなければ投稿できません。

About this Topic