We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 8382
    • 253 Posts
    nobokonokoさん。
    編集は大丈夫だとすると、同じAjaxなのにどうしてQuickEditは大丈夫なのか?
    その辺にいろいろありそうです。

    一度、試しにquickedit/lang/japanese-xxx.inc.phpをそのディレクトリからはずしてみて、
    文字化けが起こるかどうか確認していただけないでしょうか?
    無理に、すぐにとは言いませんので。

    追伸:
    理由は$manager_lang_pathが本体用言語ファイルで、しかも一番最後に読み込まれるからです。つまり$_langは上書きされているのです。

    他の方、いかがでしょうか?文字化けします、という方いらっしゃいませんか?
      • 21684
      • 46 Posts
      以前は化けていたのですが、QE用ファイルを抜いても化けません。
      理由が良くわかりません。
      yamaさんはその後文字化けはどうなのか聞いてみたいところですが、今日は落ちます。。。
        • 33014 ☆ A M B ☆
        • 1,231 Posts
        どうも、お待たせです。こちらは、xreaのサーバ・EUC-JP・Firefox1.5(WindowsXP)・QuickEditの
        組み合わせで文字化けが発生し、対処したという状況でした。
        で、その後なんですが。なぜか通常の管理画面をIEで開いてドキュメントを編集した時に
        文字化けが発生し(対処時に確認したと思うのですが)、結局、mbstring.encoding_translationの
        記述を外してしまいました。QuickEditモジュールも機能を無効にしました。
        という現状です。
        また改めて検証してみようと思っています。
          • 21684
          • 46 Posts
          うーん、やっぱり文字化けが出ない huh

          只、文字化け確認した後、一回(実は数回)、データベース削除して構築仕直してます。
          その際にSQLで
          ALTER DATABASE `データベース名` DEFAULT CHARACTER SET euc-jp COLLATE ujis_japanese_ci;

          を実行してるんですね。(確か)
          これがうまいこと働いたのかな?とは思ってます。

          それと、(当時の)文字化けの症状ですが、表示等は一切化けず、編集して保存すると、文章が化ける。
          といった具合だった(はず)

          ちょっと今、xreaが酷いことになってるので、いろいろ調べるのはもうちょっとしてからにしたいと思います。
            • 33014 ☆ A M B ☆
            • 1,231 Posts
            万一に備えて、xreaで作ったサイトのデータを片っ端からバックアップ中。
            xreaが落ち着いたら僕も試してみます。
              • 8382
              • 253 Posts
              ようやくyamaさんのおっしゃる意味がわかりました grin
              確かに内容編集時のウィンドウは英語になってますねー

              早速バグ報告いたします。
              それまでになにかQuickEditでの編集で文字化けが起きる場合は
              Quote from: yama at Mar 09, 2006, 05:37 PM

              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と同じディレクトリにアップロード。
              以上の方法が最もよい回避法です。yamaさん感謝します。
                • 33014 ☆ A M B ☆
                • 1,231 Posts
                以下の設定で、IE6・FF1.5・マネージャ内の編集画面・QuickEditそれぞれの組み合わせで
                文字化けせずに編集できることを確認しました。
                php_value output_buffering none (たぶん関係ない)
                php_value mbstring.detect_order none
                php_flag mbstring.encoding_translation Off
                php_flag mbstring.func_overload Off
                php_value mbstring.http_input pass (たぶんコレが関係あるのでは)
                php_value mbstring.http_output pass
                php_value mbstring.internal_encoding none
                php_value mbstring.language Japanese (xreaの既定値なのでたぶん関係ない)
                php_value mbstring.script_encoding none
                php_value mbstring.substitute_character none

                コレ全部が必要ってわけじゃなくて、このうちたぶん1つか2つが
                ビンゴなのだと思います。しかしnoneとかOffばかりですねえ。いいのかな? huh

                mbstring.http_inputについてはtakumiさんから3月10日にヒントを
                いただいたのですが、さくらでは「auto」で正常だったためにシロと
                判定していました。

                http://tsuttayo.sytes.net/php/char_trn/
                このへんも参考になりそう。
                いろんなサイトを見てると「コレが正解」ってのはないみたいですが…
                  • 33014 ☆ A M B ☆
                  • 1,231 Posts
                  今回の情報が決定版になればいいのですが。前回の報告とはかなり違う内容ですが、
                  以下の内容で文字化けせず編集できることを確認しました。
                  ちなみに、MODxの言語ファイルはeuc-jpを利用の場合です。
                  ( [ IE・FireFox ]×[MODxマネージャ・QuickEditバー] それぞれの組み合わせで確認)

                  まずxreaの場合。
                  php_flag mbstring.func_overload Off
                  php_value mbstring.detect_order auto
                  php_flag mbstring.encoding_translation On
                  php_value mbstring.language Japanese
                  php_value default_charset EUC-JP
                  php_value mbstring.http_input auto
                  php_value mbstring.http_output EUC-JP
                  php_value mbstring.internal_encoding EUC-JP
                  php_value mbstring.substitute_character none


                  そしてついでにさくらのレンタルサーバ。(sql13DBサーバで文字化けを確認したため調べました)
                  zlib.output_compression=On
                  zlib.output_compression_level=5
                  mbstring.language=Japanese
                  mbstring.detect_order = auto
                  default_charset = "EUC-JP"
                  mbstring.encoding_translation = On
                  mbstring.http_input = auto
                  mbstring.http_output = EUC-JP
                  mbstring.internal_encoding = EUC-JP
                  mbstring.substitute_character = none


                  http://www.php.net/manual/ja/ref.mbstring.php
                  情報源はこちらです。php公式マニュアルです。
                  ここに書いてある設定例そのまま書き写しました。 embarrassed

                  ついでにeuc-jp用のlangファイル添付しておきます。
                    • 20948
                    • 1 Posts
                    はじめまして、naoです。プログラム系はさっぱりなのですが、よろしくお願いします。
                    ちょっとこのトピは終了のようですが・・・。

                    ボクの利用している環境では「QuickEdit」で書き込むと文字化けします。しかもUTF-8でインストールしているにも関わらず・・・。
                    MODxのバージョンは0.9.6です。サーバの環境は以下の通りです。

                    ■Xserverホスティングサービスを利用50以降のサーバです。
                    ■Apacheバージョン 2.0.52
                    ■PHPバージョン 4.3.9
                    ■MySQLバージョン 4.0.26 EUC-JP固定です。

                    状況は・・・
                    ■管理画面にログインできます。
                    ■管理画面からの書き込みは日本語でもOK、サイト上でもちゃんと表示できます。
                    ■「QuickEdit」で編集中は大丈夫ですが、保存すると文字化けします。
                    文字化けした部分はブラウザの設定をEUC-JPにすると表示できます。
                    ■「QuickEdit」の表示事体は文字化けしてはいません。当たり前ですが・・・。

                    以上のことから、どうやらMySQLに送信したときにEUC-JPで受け取ってしまいダメなのだと思い、php.iniでoutputとinput等の設定をしようとしましたが、php.iniを置くとサイト上に「QuickEdit」が表示されなくなります。そこで、htaccessファイルで設定しようとすると500エラーでサイトも管理画面も表示できません・・・。おそらく同じ理由だと思いますが、サイト上のログインフォームからのログインもできません。エラーメッセージは「Incorrect username or password entered!」です。でも管理画面からログインしているとサイト上に「QuickEdit」が表示されます・・・。

                    以前に9.5をXserverの20番台サーバにインストールした時は起こらなかったと思うのですが・・・。
                    ちなみに、管理画面の設定を日本語に変更してもそのままでは日本語にはならないので「mysql_query("SET NAMES utf8;");」を追加修正しました・・・。

                    かなり煮詰まってしまって、さっぱりわからないんですけど、どなたかこの状況を打破できるアドバイスをいただけないでしょうか?
                    よろしくお願いいたします。