We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 25915
    • 1 Posts
    みなさま。はじめまして。
    本日はじめてMODxをインストールしました。
    インストールは成功し、言語セットも日本語に変更しました。
    その後、サンプルサイトのトップページに日本語を追加してみたのですが、保存してプレビューすると
    日本語以降が削除されてしまいました。
    ためしに、ドキュメント作成でsampleというファイルを作成して、ABC日本語XYZ と入力して、保存、プレビューで
    確認するとABCとだけ表示されます。HTMLソースを見てもABCと書かれていますので、見た目どおり日本語以降が切り捨てられてしまっています。
    データベースのmodx_site_contentテーブルを見てみましたが、contentカラムには<p>ABC と入っています。
    ためしに、ABCとだけ入力(日本語は無し)してみると<p>ABC</p>と途切れた感じなく保存されています。
    これらから、入力後日本語以降が切り捨てられてデータベースに保存されてしまったとすると、今回のような現象になるのですが、
    同じような現象にあわれた方はいらっしゃいませんでしょうか?
    また、解決方法をご存知の方がいらっしゃいましたらアドバイスいただけませんでしょうか。
    よろしくお願いいたします。

    ※エラーメッセージ等は一切でません。MODxマネージャは普通に使えているように見えます。
    ※文字化けは発生していません。日本語以降が欠ける症状です。
    ※MODxマネージャツールの日本語には文字化けや文字欠けはありません。
    ※試しにドキュメントのタイトルを日本語にしてみましたが、まったく同じ症状で日本語以降がカットされています。

    環境
    FreeBSD 4.7
    apache 1.3.37
    php 4.4.4
    Mysql 4.1.21
    MODx 0.9.6
      • 6634
      • 1 Posts
      DBに直接日本語データ入力してみたらどーですか?

      それで出力されるんだったらMODxの表示系エラーだし、
      DBに日本語が入力されないのならDBの設定エラーだし。

      なんとなく、他の日本語が出ているならDBなような気がしますが。
        • 29850
        • 9 Posts
        7月の投稿ですね・・・おそらくは、解決されてることとは思いますが。
        フィールド値に日本語のみ挿入されないといった状況は体験したことはないため、参考になるのかわかりませんが。インストール後の文字化けで次の設定をした記憶がありますので、同じような問題に遭遇した人のために。私のケースで。
        1.MySQLの設定
         デフォルトの文字コードをUTF-8に変更しました。
        2.phpの設定
         .htaccessからのPHP設定を変更しました。いまみたら
        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;
        のようになっていました。そちらはどうですか?(変更されるときは、念のためバックアップをとってからお願いしますね)。

          • 3982
          • 3 Posts
          こんにちは。

          【資料】MODxが稼働するレンタルサーバにも投稿していますので重複申し訳ありませんが

          WebARENA SuiteX へModX 9.6.1p2を導入を試みましたがその時も同現象が出ました。

          Php.ini(Phpは5.1.6)の設定では、mbstring.internal_encoding UTF-8になっています。
          サーバの内部エンコーディングは、UTF-8になっています。
          DBへ直接日本語(PhpMyAdminから)をテーブルへ追加しても格納されるのを確認しました。

          日本語を含むコンテンツを保存したときに発生しているエラーです。
          File does not exist: XXXXXX/modx/assets/plugins/tinymce212/jscripts/tiny_mce/plugins/nonbreaking/langs/ja_utf-8.js
          File does not exist: XXXXXX/modx/assets/plugins/tinymce212/jscripts/tiny_mce/plugins/visualchars/langs/ja_utf-8.js
          確かにその下には、en.jsファイルしかないようだったので、XXXXXXX/modx/assets/plugins/tinymce212/jscripts/tiny_mce/langs
          にあったja_utf-8.jsを各フォルダに入れてみたらエラーは出なくなりましたが、症状は変わっていません。
          エディターかと思っていたのですが、twさんの設定で試してみます。
            • 36592
            • 970 Posts
            WebARENA のサポートのこのページに、以下のような記述があります。

            WebARENA SuiteXのデータベースMySQLオプションサービスでは、データベースエンジンにMySQL 4.1を使用しています。対応している文字コードはEUCです。

            どの言語を使用される場合でも、プログラム内で文字コードを明示的に指定してご使用ください。

            "SET NAMES ujis"
            指定していない場合、文字化けが発生する可能性が高くなります。

            文字コードはEUC対応との記述がありますが、このあたりは大丈夫なんでしょうかね?
              • 3982
              • 3 Posts
              tkfmさま

              そうでした、WebARENA SuiteXのDBは、まだ前のWebARENA Suite2の仕様のままでした^^;
              失念してました、2008年度中にUTF-8でというコメントが頭に残っておりましてすいません。

              という事で、インストールからやり直しました。
              DBのキャラクターセットでEUCを選択して、インストール後に設定をEUCにして
              暫定で公開されていました、EUC用のlangファイルを入れてみました状況は同じようです
              もう少し細かく設定を見直してみます。(EUCで動作するかしないかみたいになっていますがすいません)

              DBがEUCでサーバ内部エンコードがUTF-8だった場合にMODXではどう設定したら良いのでしょうか
              インストール時のDBキャラクターセットをEUCにして、MODX側は管理画面はUTF-8、エンコーディングだけEUCって
              事でしょうか?私の知識では厳しくなってきました、お知恵をいただけると助かります。

              2008/07/08 追記
              いろいろ試してみましたが、DBがUTF―8になってから使った方が無難だと判断しました
              本年度中には変わるらしいので動きましたらまた、ご報告いたします。

              2008/08/27 追記
              時間が出来たためちょっといじって見ました。
              $database_connection_charset = ’’;
              →$database_connection_charset = ’utf8’;
              各対象ファイルの
              @mysql_query("SET CHARACTER SET {$database_connection_charset}");
              →@mysql_query("SET NAMES {$database_connection_charset}");
              (mysql_set_charset()の方が良いのかもしれませんが)

              で日本語入力し保存するという動作しました、ちなみにバージョンは0.9.6.1p2です。

              知識不足でいろいろご質問してすいませんでした、一応自己解決しました。