We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
  • xreaのサーバにインストールしたのですが、管理画面左側の
    ページツリーの日本語のページ名の一部の文字が化けます。

    このファイル名をマウスオーバーした時のtipの日本語も
    化けています。たとえば「エイリアス」が「エイリア゜」、
    「メニューインデックス」が「メニューインデック゜」と
    いう具合です。漢字の場合は少し違う感じで化けますが。

    $_lang[’document_opt_menu_index’]を出力する3ldr.php
    あたりや、mbstringあたりにヒントがあるような気がします。

    ちなみに、ロリポップのサーバでは化けませんでした。
    xreaとロリポップそれぞれのphpinfo()の出力の
    一部を抜粋します。

    ●xrea

    Directive / Local Value / Master Value
    -------------------------------------
    mbstring.detect_order / auto / auto
    mbstring.encoding_translation / Off / Off
    mbstring.func_overload / 0 / 0
    mbstring.http_input / auto / auto
    mbstring.http_output / pass / pass
    mbstring.internal_encoding / no value / no value
    mbstring.language / Japanese / Japanese
    mbstring.substitute_character / no value / no value

    ●ロリポップ

    Directive / Local Value / Master Value
    -------------------------------------
    mbstring.detect_order / no value / no value
    mbstring.encoding_translation / Off / Off
    mbstring.func_overload / 0 / 0
    mbstring.http_input / pass / pass
    mbstring.http_output / pass / pass
    mbstring.internal_encoding / no value / no value
    mbstring.language / Japanese / Japanese
    mbstring.script_encoding / no value / no value
    mbstring.substitute_character / no value / no value

    何か心当たりのある方がいらっしゃると助かります。
    • http://modxcms.com/forums/index.php?action=dlattach;topic=2479.0;attach=1047

      キャプチャーを添付しておいたのですが、自分でこれを
      見ていて少し気が付きました。化ける文字は最後尾の
      1文字だけのような気がします。
      • 「ユーザ管理」でユーザ名を日本語で入力してみました。

        織田信長 → 織\田信\镜?
        織田 信長 → 織\甜? 信镜? (織田と信長の間に半角スペース)
        徳川家康 → 徳圷?家康
        徳川 家康 → 徳圷? 家康 (徳川と家康の間に半角スペース)

        パターンがよく分かりませんが、こんな感じに化けます。
        • 同じくユーザ名です。

          武者小路実篤 → 武者小路圮?篜?

          ページ名のツリーの話に戻りますが…

          織田信長 → 織田信镜?
          徳川家康 → 徳圷?家康
          織田信長徳川家康 → 織田信長徳川家康(なぜか化けない)
          徳川家康織田信長 → 徳圷?家康織田信镜?

          こんな感じです。必ずしも末尾とは限らないみたいです。
            • 8382
            • 253 Posts
            Hi, yama.
            MODxのエンコードはUTF-8でお使いですか?
            MySQLは4.0.xぐらいですよね?
            • ●xrea(文字化けする)
              Client API version 4.0.26
              MYSQL_MODULE_TYPE external

              PHP Version 4.4.2
              Jan 14 2006 19:42:20

              ●ロリポップ(文字化けしない)
              Client API version 3.23.49
              MYSQL_MODULE_TYPE builtin

              PHP Version 4.3.11
              Nov 24 2005 15:45:53

              となっています。
              (Client API version…でよかったでしたっけ?)
              • MODxのエンコードはUTF-8です。
                  • 8382
                  • 253 Posts
                  Xreaを使用した事が無いのではっきり指摘できませんが、
                  mbstring.internal_encoding をUTF-8にしてみてはどうでしょう。
                  php_value mbstring.internal_encoding UTF-8

                  を.htaccessに記述します。
                  MySQLとの間も怪しそうなのですが、まずは上記をお試しください。
                  XreaではMySQLの起動パラメータ、例えばdefault-character-setやdefault-collationの
                  指定はできませんよね?MySQL 4.0.x以前はunicode非サポートなので、EUC-JPかShifted_JISで
                  格納するようになっているのでないか?と疑ってもいるのですが。
                  • mbstring.internal_encoding UTF-8、
                    さっそく試してみました。残念ながら進展なしでした。

                    だけど他の部分は正常に日本語を扱えているので、
                    逆にMODx側のほうで何か対策がとれないかと
                    期待してますが、難しそうでしょうか。

                    あと、さくらでもインストールを敢行中です。
                    格安サーバ御三家で稼働を確認できれば
                    興味を持つユーザが増えそうな気がします。
                    • さくらでも試してみました。インストールはすんなりと
                      進みましたが、管理画面の同じ個所の文字化けが
                      xrea以上にひどい感じです。制御文字のようなものに
                      差し替わってしまいます。うーん、残念。

                      サイト名なども日本語にすると化けました。
                      この調子だと他の個所もいくつかありそうです。