We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 29228
    • 109 Posts
    別トピックにした方がよろしいかと思い、新しく立てました。 grin

    質問なんですが、FlexSearchForm with Ajaxをご利用の方のサーバー環境を教えて頂けないでしょうか?
    と言うのは、私の環境(MySQL3系)では、日本語がヒットしないんです。 :’(
    デフォルトのFlexSearchFormは問題無くヒットするんですが。。。
    何が原因なのか途方に暮れてる状態なので、情報提供お願い致します。
      • 21684
      • 46 Posts
      はじめまして、こんばんは。
      xreaで使用、PHPは5.1.2 MySQLは5.0.18です。
      utf-8がどーーーーしても文字化けするのでeuc-jpにて運用してます。

      で、無事日本語検索出来ていると思っていたのですが、
      検索結果の抜粋文の最後の一字が文字化けすることがある。
      markdownの記述がそのまま読み出される場合がある。
      っていう不具合がありました。
      (markdownなんか使ってる人は少数派でしょうが)

      このフォーラム、safariって文字化けします?
        • 20953
        • 70 Posts
        Quote from: nobokonoko at Apr 05, 2006, 10:59 AM

        はじめまして、こんばんは。
        xreaで使用、PHPは5.1.2 MySQLは5.0.18です。
        utf-8がどーーーーしても文字化けするのでeuc-jpにて運用してます。

        で、無事日本語検索出来ていると思っていたのですが、
        検索結果の抜粋文の最後の一字が文字化けすることがある。
        markdownの記述がそのまま読み出される場合がある。
        っていう不具合がありました。
        (markdownなんか使ってる人は少数派でしょうが)

        このフォーラム、safariって文字化けします?

        私もxreaでeuc-jpでページをテスト運用しています。
        「メールの文字化け」で文字化けしてしまったので、こちらで続きになりますが、2バイト文字での検索を通す方法は無いものなのでしょうか?
        安定して日本語が通るフォームを開発する必要性を感じます。

        また、safariでは文字化けするようです(「メールの文字化け」ではfirefoxで書いた後、safariで修正したら文字化けでした)。

        ちなみに、デフォルトのFlexSearchFormでは日本語が通りませんでした(「メールの文字化け」でお尋ねしていたのもそのせいです)。
          • 21684
          • 46 Posts
          運用と書きましたが、僕もまだテスト運用でオフラインにしてます。
          searchStyleをpartialに変えると日本語検索がうまくいくこともあるみたいですが、
          うちの環境では駄目でした。それじゃあ別のを、、、って感じだったのです。
            • 29228
            • 109 Posts
            今始めて知りましたけど、PHP5系でも動くんですね。
            やっぱり何人かは、日本語検索で苦労されてるようですね。
            こうなれば意地で原因調査しなきゃな。。。

            MySQL5系だとfull textsearchが使えるので、案外と日本語環境は良いかな?と思ってたんですが、甘かったようですね。
            少し具体的に環境を知りたいのですが、php.iniのmbstring関係の設定はどうなってますでしょうか?
            mbstring.internal_encoding以下、要注意かも? huh
              • 8382
              • 253 Posts
              みなさま。
              FlexSearchFormは、$searchStyle=’relevance’は殆ど役にたたないでしょう。
              with Ajaxでも中身は変わりません。
              MySQLの全文検索が日本語で機能させるには、全ての単語を半角スペースで分かち書きしないと
              ヒットしません。つまり茶筅のようなソフトが組み込まれないと未来永劫不可能と思います。

              私の環境では、$searchStyle=’partial’でFSFがそこそこ動作します。
              しかし、結構時間がかかるので文書数や文書量によってはタイムアウトへの考慮が必要でしょう。

              ちなみにXAMPP1.5.1上で動かしています。細かい設定は私のサイトでご覧になれます。
              全てUTF-8です。
                • 20953
                • 70 Posts
                Quote from: eastbind at Apr 05, 2006, 01:40 PM

                私の環境では、$searchStyle=’partial’でFSFがそこそこ動作します。
                しかし、結構時間がかかるので文書数や文書量によってはタイムアウトへの考慮が必要でしょう。

                私の環境で、上記設定でスニペットを更新し、検索をしてみました。
                一応動いているようで、今のところ日本語が通ります。

                環境はxreaでエンコードはeuc-jpです。
                多分、SQLのエンコードはutf-8だったと思います(システムにあまり詳しくないので情報に正確性がありませんが)。

                modx側で2バイト文字へのしっかりとした対応が出来れば良いのですが、それができないとなると少なくとも日本ではサーバー環境をかなり選ぶCMSになってしまうかもしれません。
                仕事上、CMSへの移行は考慮に入れなくてはならないことで、そのためにせっかく使いやすいmodxを候補から落とす様なことになるのは非常に寂しいです(joomlaとかxoopsは触りました。分かりやすさと柔軟性ではmodxが2歩も3歩も先に行っています)。
                webプランニング、デザインの現場としては、このような優れたCMSが候補から落ちる様なことは残念です。
                本当に、安定して動くシステムにならないものでしょうか?
                それは、素人の高望みなのでしょうか?

                と、ここまで書いて再度自分のページで検索を掛けるとエラーが…adminに入ってテストした時はちゃんと動いていたのに…というか、adminで入ってテストする時は問題ないと言うことは、この辺に何か問題が隠されているのでしょうか?

                ちなみにadmin以外でもコンソールにloginした状態ならちゃんと検索出来るようです。
                  • 21684
                  • 46 Posts
                  Directive Local Value Master Value
                  mbstring.detect_order auto auto
                  mbstring.encoding_translation On Off
                  mbstring.func_overload 0 0
                  mbstring.http_input auto auto
                  mbstring.http_output pass pass
                  mbstring.internal_encoding EUC-JP EUC-JP
                  mbstring.language Japanese Japanese
                  mbstring.strict_detection Off Off
                  mbstring.substitute_character no value no value

                  こんなかんじです。quickeditの文字化け対策以外は弄ってません。

                  with Ajaxはデフォルトの設定でpartialになってるんですね。それで検索できたのかな?
                  じゃあノーマルのほうが検索ダメなのはなんでなんだろう?単なる設定ミスかな?

                  MySQLの全文検索は単語を空白で区切るような言語体系じゃないと実質使えないということですね。

                  GoogleSitemapsスニペット利用して、さっさとインデックス化してもらってGoogle使うのがてっとり早いかも。ってのは禁句ですよね。
                    • 29228
                    • 109 Posts
                    Quote from: naoya at Apr 05, 2006, 02:43 PM

                    modx側で2バイト文字へのしっかりとした対応が出来れば良いのですが、それができないとなると少なくとも日本ではサーバー環境をかなり選ぶCMSになってしまうかもしれません。
                    これはMySQL側の問題のような?
                    MySQLを使った日本語検索では、通常はLIKEを使った「あいまい検索」を使うのが普通です。
                    そうでなければ、eastbindさんがおっしゃったように「茶筅」をサーバーに組み込んで...って形になると思います。
                    この辺はGoogleで検索すると沢山出てきます。
                    joomla、XOOPSなんかも同様じゃないですかね?
                    自分はプログラマーではないですけど、仕事上いろんなCMSを調べる機会があります。
                    phpでは2byte文字は鬼門だと思います。
                    こうやって日本語コミュニティーが形成されて、人が増えれば問題解決も早くなると思うので、もう少しだけMODxに付き合って下さい。(^^;

                    ところで、with Ajaxで日本語がヒットしない原因の一つを見付けました。
                    スニペットの所で、検索フォームを出力してる箇所
                    $SearchForm .= '<input class="FSF_submit" type="submit" name="sub" id="sub" value="'.$searchButtonText.'" />';

                    の部分で
                    id="sub"
                    に問題があるようです。
                    うちの環境ではこのid="sub"を削除した所、日本語もヒットしました。
                    ただ、このid="sub"を付加したままでの対処方は出来ていません。
                    途中経過ってとこで。。。 grin

                      • 20953
                      • 70 Posts
                      Quote from: takumi at Apr 05, 2006, 03:11 PM

                      これはMySQL側の問題のような?
                      MySQLを使った日本語検索では、通常はLIKEを使った「あいまい検索」を使うのが普通です。
                      [中略..]
                      自分はプログラマーではないですけど、仕事上いろんなCMSを調べる機会があります。
                      phpでは2byte文字は鬼門だと思います。
                      こうやって日本語コミュニティーが形成されて、人が増えれば問題解決も早くなると思うので、もう少しだけMODxに付き合って下さい。(^^;

                      MySQLの問題ですか…となると根深い問題なのでしょうか(phpやMySQLはほとんど分からないので重大性を理解出来ていません)?
                      結構気に入っているので、MODxを使って色々なサイト構築をしたいと思っています。
                      実際、今抱えている案件では検索機能自体を使うことはないのですが、「検索機能が欲しい!」と言われれば何とかしないといけないので気になります。フォーム系でちゃんと日本語が通れば使い勝手の良いCMSだと(デザイン、運用する立場から言えば)思います。