We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 20978
    • 22 Posts
    soushiさん

    お返事をいただいていたのに気づくのがだいぶ遅くなってしまいました。済みません。

    やっぱり、latin1の部分ですか。。。。

    データベースは、soushiさんが書いてくださったようにキャラクターセットをutf8にしてSQL文で作っています。レンタルサーバー会社へMySQLのDBの文字コードがlatin1になっている件について問い合わせてみたのですが、データベースを作る時にキャラクターセットを指定している場合は、latin1であることは、無視されるということでした。MySQLのマニュアルを読んでみたのですが、どうやらそのようです。

    my.cnf に skip-character-set-client-handshake を入れて試したこともあるのですが、状況は、変わらずです。これは、my.cnf の一番最後に一行書き足すということでいいのですよね?

    あれからXREAでもMODxを入れてみたのですが、文字化けなく動きました。こちらへ引越しも考えたのですが、今使っているサーバーで3つのサイトをマネージしているのと、使い易いのと(まあ、一番の理由は、契約が切れるまでまだ2年弱あるってことですが。。。)で引っ越すのは、ちょっと躊躇している感じです。XREAって使い方がイマイチ分かりづらくないですか??慣れればどこも同じなのかもしれませんが。。。

    今は、テンプレートの機能は、使ってないんですよ。テンプレートの日本語が文字化けしちゃうので、せっかくMODx使っているのに間抜けですが。。。。テンプレをどうしても呼び出さなくてはいけない部分は、英語表示のままで undecided

    私が使っているサーバーでは、PuTTYというソフトを使ってSSH接続ができるみたいです。
      • 28073
      • 164 Posts
      natalieさんへ

      こちらも返信が遅くなりました :’(

      Quote from: natalie at Jan 20, 2008, 09:51 AM

      my.cnf に skip-character-set-client-handshake を入れて試したこともあるのですが、状況は、変わらずです。これは、my.cnf の一番最後に一行書き足すということでいいのですよね?

      skip-character-set-client-handshakeは[mysqld]の下に書く必要があるみたいです。
      my.confの一番最後に書くと効いてないかもしれません。

      Quote from: natalie at Jan 20, 2008, 09:51 AM

      今は、テンプレートの機能は、使ってないんですよ。テンプレートの日本語が文字化けしちゃうので、せっかくMODx使っているのに間抜けですが。。。。テンプレをどうしても呼び出さなくてはいけない部分は、英語表示のままで undecided

      私が使っているサーバーでは、PuTTYというソフトを使ってSSH接続ができるみたいです。

      そういえばテンプレートの中に日本語を入れたら文字化けしてドキュメントでは問題ないという現象があったのですね。。。
      使われているMODxのバージョンは何でしょうか?
      ソースの中で違いがないか見てみます smiley

      あとmysqldumpはDBのバックアップを取るコマンドです。
      もし使えるのであれば

      mysqldump -u ユーザ名 -p データベース名 > バックアップファイル名
      


      でバックアップファイル名にDBのバックアップが保存されます。
      中身はテキストなのでエディタソフト等で見ることができると思います。
        • 28314
        • 48 Posts
        ちょっとフォーラムの使い方がわからず、横やり突っ込むようで恐縮です。
        文字化けで苦しんでいるのですが、こちらの掲示板に書き込んだ方が協力していただけるかもしれないと聞き失礼させていただきました。

        二重の書き込みは良くない?と思いますので、これまでのトピック?にリンクを張らせていただきます。

        http://modxcms.com/forums/index.php/topic,25074.0.html

        ご協力お願いします。


        apache:2.0.52
        php:4.3.9
        mysql:4.1.12
        CentOS
          初心者代表 (やらいでか!http://ssmk.blogspot.com/)
          • 19033
          • 892 Posts
          こんにちは。

          サーバによっては、各ディレクトリごとにphp.iniをおけたりするのですが、
          それが可能なら、MODxをインストールしているディレクトリにMODx用にphp.ini を
          おいたらどうなんでしょうか。

          あ、.htaccessを利用できるのですね。
          php_value mbstring.language neutral
          php_value mbstring.internal_encoding UTF-8
          php_value mbstring.http_output UTF-8
          php_value default_charset UTF-8

          参考になるかどうかわかりませんが、うちのローカル環境のphp.ini を書いてみます。

          * default_charset = "utf-8"
          * mbstring.language = Japanese
          * mbstring.internal_encoding = UTF-8
          * mbstring.http_input = auto
          * mbstring.http_output = pass
          * mbstring.encoding_translation = On
          * mbstring.func_overload = 0
          * magic_quotes_runtime = Off

          あと、確認なのですが、データベースは、unicodeで作ってあるんですよね(あれ?4.1xはunicode選択できるんですよね??)。
          各テーブルの照合順序はutf8-general(unicode)_ci とかですか?照合順序は、各フィールドごとにも存在します。
            • 19033
            • 892 Posts
            php.iniの確認はWEBサーバ管理者を通してじゃないといけないので、ちょっとレスポンスに時間がかかりそうです。

            noriさんが書いてくださっていますが、「modx管理画面→レポート→システム情報→phpinfo()」で確認できますよ wink
              • 33488
              • 429 Posts
              管理画面で、ドキュメントはちゃんと日本語入れたら日本語が表示されるけど、それ以外のリソースとかは化けるっていうことですよねぇ。
              単純に考えちゃうと、ドキュメント系のテーブルとそれ以外のテーブルのテキスト系の文字コードが違うとか・・・っていうのは甘いっすかねぇ
              phpmyadminでチェックすればわかるかも知れませんが・・・。

              php.iniでtranslationがOffであれば、とりあえずInternal EncodingがEUC-JPでも日本語はちゃんと入るハズなんで(画面がUTF-8なら)。
              mysqlのテーブル構造の方が怪しいような気もします。
              全部化けるならまた別問題かとは思いますけど、部分的にとなると化けるテーブルの文字コード(テキストカラム系)がlatianだったりするとかだと化けるんじゃないかなぁ


              かなーり、憶測なんであてにはなりませんが・・・。
                • 28314
                • 48 Posts
                MEGUさん、ZeRo師匠ありがとうございます。

                .htaccessでの設定の件は僕も今回初めて知りました。
                ν default_charset = "utf-8"
                ν mbstring.language = Japanese
                ν mbstring.internal_encoding = UTF-8
                ν mbstring.http_input = auto
                ν mbstring.http_output = pass
                ▲ mbstring.encoding_translation = On  → off おおーコレか? Onにしましたが状況変わらず
                ν mbstring.func_overload = 0
                ν magic_quotes_runtime = Off  → なんですかねこれ

                データベース、文字化けしているフィールド、していないフィールド共に utf8_general_ci でした。
                0.9.2のときはまさにその latian系 で苦しんでました。

                ドキュメント系とその他の書き込みのロジックが別系統で行われているなんてこた〜ないでしょうかね?
                ただ、そこまでは全くもって解析できません undecided

                参考になるでしょうか
                [table][tr][td]Multibyte Support enabled
                Japanese support enabled
                Simplified chinese support enabled
                Traditional chinese support enabled
                Korean support enabled
                Russian support enabled
                Multibyte (japanese) regex support enabled[/table]

                [table]
                [tr][td]Directive Local Value Master Value[/td][/tr]
                [tr][td]mbstring.detect_order no value no value[/td][/tr]
                [tr][td]mbstring.encoding_translation Off On[/td][/tr]
                [tr][td]mbstring.func_overload 0 0[/td][/tr]
                [tr][td]mbstring.http_input auto auto[/td][/tr]
                [tr][td]mbstring.http_output pass SJIS[/td][/tr]
                [tr][td]mbstring.internal_encoding UTF-8 EUC-JP[/td][/tr]
                [tr][td]mbstring.language Japanese Japanese[/td][/tr]
                [tr][td]mbstring.substitute_character no value no value[/td][/tr]
                [/table]

                うまく表示できるかな〜Local Value が.htaccess の設定と思われます

                MEGUさん
                お写真変えられたのですね。ちょっと前の猫のイメージとのギャップでびっくりです(笑)
                男性かと思ってました、失敬(だって野郎ばっかりの世界かと :’()
                  初心者代表 (やらいでか!http://ssmk.blogspot.com/)
                  • 28314
                  • 48 Posts
                  追記なのですが、データベースの問題ではないような気がします。
                  それは、何度もサーバー上にMODxを何個かインストールし、それぞれ用にデータベースをUTF8で作成しても同じ症状です。
                  根拠が弱い?

                  あと、FTPの設定でファイル転送モードを自動にしているのですがこれは関係ないですよね...
                    初心者代表 (やらいでか!http://ssmk.blogspot.com/)
                    • 33488
                    • 429 Posts
                    mbstring.internal_encoding = UTF-8
                    mbstring.encoding_translation = Off

                    な状態でクリーンインストールができるならそれで再挑戦してみるという手はどうでそ?

                    スニペット・プラグイン・システム設定・ドキュメントに対応する書き込みロジックは、それぞれファイル毎にあるんですが、manager/index.phpからアクションにあわせて呼び出されています。
                    index.phpでDBのCHARSETを設定しているので、ファイルとして分かれてはいますがロジックとしては共通ですね。
                    文字化けは、CHARSET周りかPHPの受け取った文字コードとMySQLの文字コードの違いぐらいしか思い浮かばないんですが・・・。
                    管理画面は、ブラウザでの文字コードはUTF-8なんですよねぇ 
                    あ、あと ありえるとするとプラグインで、管理系のイベントでなんかデータを操作するっていう可能性はあるんですが、そんなプラグインがあったかどうかは・・・試しにプラグイン全部停止してみるとかで違いがあれば・・・。


                    うーむ、不思議
                      • 28314
                      • 48 Posts
                      押っ忍!やってみます!⇒ 同じでしたorz

                      よかったら、やらいでかに見来てみてください。

                      無料サーバーのland.toでも文字化けが発生。
                      しかしEUC絡みなんでしょうが、そこは探究してません。

                      が、今回の自前サーバーと同じく全て文字化けするけど、ドキュメント部のみは文字化けしないという
                      不可思議な現象がこちらでも発生してます。

                      そう考えると、この不可思議な現象は
                      1.私の環境の問題だ、と考えるより、MODx側のロジックの問題と捉えることができます。
                      2.もしくは、私のFTPアップロードの仕方に問題があって各サーバー同様の症状が発生する。
                      この二点に思われますね。 rolleyes
                        初心者代表 (やらいでか!http://ssmk.blogspot.com/)