We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 33014 ☆ A M B ☆
    • 1,231 Posts
    管理画面にログインすると表のページ(?)に表示される便利なQuickEditバーですが、
    Firefoxで編集するとページの内容がハデに文字化けしてしまうことが分かりました。
    Firefoxのバージョンは最新の1.5です。

    以下のように対応しましたが解決できませんでした。
    (この作業自体は合ってると思うのですが…)

    assets/modules/quick_edit/lang/english.inc.phpを「japanese-euc.inc.php」と
    いう名前でコピーする。

    japanese-euc.inc.phpをテキストエディタで開いて、以下のように書き換える。

    $_lang[’QE_lang’] = ’en’;
    $_lang[’QE_xml_lang’] = ’en’;
    $_lang[’QE_charset’] = ’iso-8859-1’;
    こうなっているところを、

    $_lang[’QE_lang’] = ’ja’;
    $_lang[’QE_xml_lang’] = ’ja’;
    $_lang[’QE_charset’] = ’euc-jp’;
    このように。

    english.inc.phpと同じディレクトリにアップロード。

      • 29228
      • 109 Posts
      うちはUTF-8ですが、EUCでも特に文字化けする事は無いです。
      どう言う仕様のサーバーをご使用なのか分かりませんが、.htaccessファイルが使えるなら
      mbstring.internal_encoding
      mbstring.http_output
      mbstring.http_input
      を指定するのも良いかも知れません。
      (詳しい設定はgoogle先生で検索して下さい)
      もっともAjaxな部分なんで実際にこれが有効かは怪しい所ですけど。 grin
        • 33014 ☆ A M B ☆
        • 1,231 Posts
        サーバはxreaを使っています。takumiさんのアドバイスを参考に
        他のサイトで試してみると…さくらのレンタルサーバでは確かに
        化けませんでした。うーん?
        mbstring関係、あとで試してみます。
          • 33014 ☆ A M B ☆
          • 1,231 Posts
          mbstring.encoding_translationをonにすることで解決しました。
          MODxが使えるレンサバトピにも追記しておきます。

          http://modxcms.com/forums/index.php/topic,2573.0.html
            • 8382
            • 253 Posts
            皆様。
            QuickEditモジュールでの文字化けに付きまして、
            附属のjapanese-utf8.inc.php
            フォーラムにアップされているjapanese-euc.inc.php、japanese-sjis.inc.php
            以上のいずれかのファイルをお使いで、
            mbstring.encoding_translation Off
            mbstring.http_input pass
            の設定で、問題の発生する方々がいらっしゃいましたら、事例を伺いたいと思います。
            クライアントのOS、ご使用のブラウザ、
            文字化けの箇所と、どんな文字が表示されるのか
            編集で問題が無いか
            問題があるとすると具体的にどんな問題なのか
            是非お聞かせください。
            できる限り対処していきたいと思います。宜しくお願いいたします。
              • 21684
              • 46 Posts
              >>eastbindさん
              すいません。文字化けの原因は、QE用の言語ファイル作らずに、デフォルトまま使っていた為でした。
              mbstring.encoding_translation Offで文字化けしませんでした。

              以下、メモ書き
              Quick Edit用の言語ファイルは
                $lang = $modx->config['manager_language'];
                $qe_path = $base_path.'/'.$GLOBALS['quick_edit_path'];
                $qe_eng_path = $qe_path.'/lang/english.inc.php';
                $qe_lang_path = $qe_path.'/lang/'.$lang.'.inc.php';
                $manager_lang_path = $base_path.'manager/includes/lang/'.$lang.'.inc.php';

              というように、Modx本体の設定が反映されるので、本体用の言語ファイルと一字一句同じ名前にしなければ反映されない。

              間違えそうなところはこの辺くらいだと思うのですがどうでしょう?
                • 8382
                • 253 Posts
                nobokonokoさん。
                QE用の言語ファイルを作らなくても大丈夫なはずなんですが...

                http://modxcms.com/forums/index.php/topic,2488.0.html
                こちらのjapanese-euc.inc.phpをお使いではないのでしょうか?
                附属のjapanese-utf8.inc.phpのエンコードを変更するときには、
                1040行目を変更する必要があるので、別途アップロードしているのです。
                  • 21684
                  • 46 Posts
                  あれ、本当ですね。Quick Editの設定項目も本体の言語ファイルに入ってますね。
                  僕の使っているファイルは、付属のを自分でエンコーディング変更したものですが、1038〜1040行は変更してありますよ。
                    • 8382
                    • 253 Posts
                    nobokonokoさん。
                    とりあえず、お聞きしておきたいのは表示の文字化けは無いわけですね?
                    内容の編集はいかがでしょうか?
                    safariでも問題ありませんでしょうか?

                    UTF-8では、safariでぜんぜん問題なく、ページの編集ができちゃうのです。
                      • 21684
                      • 46 Posts
                      幸か不幸か、mbstring.encoding_translation Offにしても文字化けが再現しません。
                      以前は確かに文字化けをしたのでこのトピを見て変更したのですが huh

                      只、気になった点が二つあります。

                      本体のjapanese.inc.phpのQE用項目と、quickedit/lang/english.inc.phpの設定項目数が違います。
                      $_lang['QE_lang'] = 'en';
                      $_lang['QE_xml_lang'] = 'en';
                      $_lang['QE_charset'] = 'iso-8859-1';
                      $_lang['QE_title'] = 'QuickEdit'; // please change only if it violates local trademarks
                      $_lang['QE_show_links'] = 'Show links';
                      $_lang['QE_hide_links'] = 'Hide links';
                      $_lang['QE_someone_editing'] = 'Someone else is editing this document';
                      $_lang['QE_cant_find_content'] = 'Could not find content to edit';
                      $_lang['QE_description'] = 'Edit pages from the frontend of the site';
                      $_lang['document_opt_hide_menu'] = 'Hide in menu';
                      $_lang['revert'] = 'Revert';
                      $_lang['apply'] = 'Apply';
                      $_lang['revert_prompt'] = 'Undo ALL of your edits?';
                      $_lang['QE_no_edit_rights'] = 'No edit rights';
                      $_lang['ok'] = 'OK';
                      $_lang['setting'] = 'Settings';
                      $_lang['go'] = 'Go';

                      訳さなくても分かるような項目ばかりですが、、

                      それと、quickedit/lang/japanese-xxx.inc.phpを置いた場合は、
                      ポップアップされたQuickEditの編集ウィンドウ自体のcharsetがきちんとeuc-jp等になるのですが、
                      置かないと、iso-8859-1になっちゃいます。