Seasons.NET

ちょっとした技術ブログです

xoops-2.0.16a-JP + php 4.3.11における文字化け解消法

まず、Xoops Users Group Japan - メールのSubjectが文字化けする件
を参考にして、該当箇所にパッチを適用します。
以下、引用

  /**
     * Encode a header string to best of Q, B, quoted or none.  
     * @access private
     * @return string
     */
    function EncodeHeader ($str, $position = 'text') {

      if( $position == 'text' ) return mb_encode_mimeheader( mb_convert_encoding( $str , mb_internal_encoding() , 'auto' ) ) ; // 追加行

      $x = 0;
      
      switch (strtolower($position)) {

何か適当に投稿して、メールの件名が化けていないことを確認しましょう。
ちなみにmb系が動作しない時は、上の記事を参考に試してみてください。

また、php.iniをいじって全体にmbstring設定をしたくない人は、

php_flag register_globals Off
php_flag display_errors On
php_flag file_uploads On
php_value default_charset EUC-JP
php_value mbstring.language Japanese
php_value mbstring.internal_encoding EUC-JP
php_value mbstring.encoding_translation On
php_value mbstring.http_input auto
php_value mbstring.http_output pass
php_value mbstring.detect_order auto

.htaccessとして保存し、
xoops_バージョン/html/の中に入れておくとよいでしょう。