• xreaサーバで管理画面の文字化け#

  • yama Reply #1, 6 years ago

    Reply
    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

    何か心当たりのある方がいらっしゃると助かります。


  • yama Reply #2, 6 years ago

    Reply
    http://modxcms.com/forums/index.php?action=dlattach;topic=2479.0;attach=1047

    キャプチャーを添付しておいたのですが、自分でこれを
    見ていて少し気が付きました。化ける文字は最後尾の
    1文字だけのような気がします。


  • yama Reply #3, 6 years ago

    Reply
    「ユーザ管理」でユーザ名を日本語で入力してみました。

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

    パターンがよく分かりませんが、こんな感じに化けます。


  • yama Reply #4, 6 years ago

    Reply
    同じくユーザ名です。

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

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

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

    こんな感じです。必ずしも末尾とは限らないみたいです。


  • eastbind Reply #5, 6 years ago

    Reply
    Hi, yama.
    MODxのエンコードはUTF-8でお使いですか?
    MySQLは4.0.xぐらいですよね?


  • yama Reply #6, 6 years ago

    Reply
    ●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…でよかったでしたっけ?)


  • yama Reply #7, 6 years ago

    Reply
    MODxのエンコードはUTF-8です。


  • eastbind Reply #8, 6 years ago

    Reply
    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で
    格納するようになっているのでないか?と疑ってもいるのですが。


  • yama Reply #9, 6 years ago

    Reply
    mbstring.internal_encoding UTF-8、
    さっそく試してみました。残念ながら進展なしでした。

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

    あと、さくらでもインストールを敢行中です。
    格安サーバ御三家で稼働を確認できれば
    興味を持つユーザが増えそうな気がします。


  • yama Reply #10, 6 years ago

    Reply
    さくらでも試してみました。インストールはすんなりと
    進みましたが、管理画面の同じ個所の文字化けが
    xrea以上にひどい感じです。制御文字のようなものに
    差し替わってしまいます。うーん、残念。

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