We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 19592
    • 56 Posts
    AjaxSearchの文字化けと2バイト文字検索が反映されない件の対処法です
    AjaxSearchの文字化け対策はweb上の色々なところに分散していますが、
    わたしの場合はいろいろためして、やっとうまくいくようになりました。
    他にも苦労している方がいるかもと思い、サーバー情報と対処法をアップします。

    使用サーバーはロリポップとアイルです。

    ■レンタルサーバー1 ロリポップ MySQL 4.0.24
    ModX 0.9.6.1 (0.9.6でも同じだと思います) 運用文字コード UTF-8
    AjaxSearch 1.6 (インストールのまま。スニペットの見出しには1.5になってますがphpには1.6とあります)

    状況:検索窓に2バイト文字を入れると検索結果なし
       アルファベットは検索されるが、ページに日本語が入っているとヒットしない。

    ※フォーラムなどを参考に、いろいろいじっている間、ときどき日本語が文字化けもせずヒットすることもあったが、同じ文字を検索しても二度目はうまくいかないなど不思議な症状も^^;

    対処法:Modxディレクトリの.htaccessを修正。
    .htaccess の下のほう#ExpiresActive ~を説明するコメントの上辺りに以下を挿入

    php_value default_charset UTF-8
    php_value mbstring.languages natual
    php_value mbstring.internal_encoding UTF-8
    php_value mbstring.script_encoding auto
    php_value mbstring.http_input auto
    php_value mbstring.http_output pass
    php_flag mbstring.encoding_translation Off
    php_value mbstring.detect_order auto
    php_value mbstring.substitute_character none;
    php_value mbstring.func_overload 1 


    この方法はサーバーで.htaccessが使えることが条件です。
    (ロリポップは.htaccessのかなりの機能がつかえます)

    ※コードはMirai建築工房さんのかかれたものです。
    http://www.miraiarcs.com/
    現在Mirai建築工房さんは閉鎖中のためグーグルキャッシュから。
    http://72.14.235.104/search?q=cache:jDtxKSJdfJoJ:www.miraiarcs.com/modxuop/modxuop1.html+AjaxSearch+modx&hl=ja&ct=clnk&cd=20&gl=jp



    ■レンタルサーバー2 アイル MySQL-4.0.x
    Modx 0.9.6 運用文字コード UTF-8
    AjaxSearch 1.6

    状況:アルファベット、2バイト文字共に検索はヒットするが、日本語は全て文字化け。

    アイルは.htaccessがアクセス制限くらいしか使えないため、サーバー1の方法は使えませんでした。
    (同じ.htaccessをアップしたらエラーになった^^;)

    対処法:php.iniを作ってModxディレクトリにアップする
    新規テキストファイルに以下をコピペして、ファイル名をphp.iniにして保存。サーバーにアップ。

    language = "Japanese"
    mbstring.internal_encoding = "UTF-8"
    mbstring.encoding_translation = Off


    フォーラムの [解決] AjaxSearchで日本語 を参考
    http://modxcms.com/forums/index.php/topic,5991.0.html

    ※php.iniというファイルはどこにあるんだろうと散々探してしまいましたorz
    新たに作るファイルだとは思いもよらず…。
      • 19592
      • 56 Posts
      レンタルサーバー アイル使用のModxサイトに予期せぬ弊害が出ました undecided

      php.iniをアップすると
      ページ設定で非公開のドキュメントのプレビューが表示できなくなりました。
      ドキュメント編集ページでプレビューすると、ページがないnot find ページに飛ばされますorz
      (公開ページは問題なくプレビューできます。公開ページしかプレビューできない^^;)

      どうゆう関係があるのか全然わかりませんが、
      製作中にプレビューできないのは結構不便です。 :’(
      とりあえず一旦php.iniはずしました…。
        • 19592
        • 56 Posts
        php.iniをアップして検索できるようになった、レンタルサーバー アイルの
        AjaxSearchは動くけど、未公開ページのプレビューが出来なくなった件、解決しました。

        manager/includes/config.inc.php の 
        9行目
        database_connection_charset が未設定だったためでした。
        てっきり設定済みとばかり思っていましたが、念のためサーバーからダウンロードして開いたら空のままorz

        $database_connection_charset = ’utf8’;

        としたら、プレビューできるようになりました。

        さらに、php.iniがなくても検索できることが判明… o...rz

        AjaxSearchが動かない場合は、まずmanager/includes/config.inc.php を確認した方がよさそうです。(自分だけか^^;)