We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 20978
    • 22 Posts
    お世話になります。

    MODxへのお引越しも最終段階を迎えているのですが、ふとデータベースのテーブルの内容を見てみたら文字化けしていました shocked

    メンテナンス・ etc.

    という感じです。

    早速、こちらのフォーラムを検索してみたら、

    http://modxcms.com/forums/index.php?topic=2573.70;wap2

    で、


    Phize:
    こんにちは。XREA+MySQL 5のサーバでの動作報告です。
    phpMyAdminでDBを覗いたときに気づいたのですが、データが文字化けして格納されていました。
    動作上は文字化けもなく動作していたので、実害はないのかもしれないですが気持ち悪いので調べてみました。

    確認環境は次の環境になります。

    XREAPHP: 5.2MySQL: 5.1MySQL の文字セット: UTF-8 Unicode (utf8)MODx: 0.9.6
    XREA PHP 4.4 + MySQL 4.0 のサーバでは問題は発生していないので、MySQLのドキュメントによると、

    Quote

    MySQL 4.1 以降では、クライアント側とサーバー側のエンコーディング設定が 異なる場合にエンコーディング変換が行われます。この際、直接変換する のではなく、一度Unicode(ucs2)を経由します。


    が関係しているのではないかと思いました。

    (途中省略)

    MODxのインストール直後に/manage/includes/config.inc.php 内を

    Code:

    $database_connection_charset = ’utf8’;

    と、「utf8」に修正したらDBのデータの文字化けがなくなりました。


    とありました。状況が私の場合と似ているので、さっそくコードを修正して見る(修正というか、何も指定がないところにutf8と記入)してファイルをアップロードしてみたところ、今まで普通に表示されていたウェッブ上の日本語も(管理室のツリーの部分も)メンテナンス・のオンパレードになってしまったので、焦って元に戻したところ、無事元に戻ったのですが、データベースの文字化けは、もちろん解消していません。

    どなたか同じような経験の方がいらしたら、お知恵を拝借させてください。お願いいたします。

    使用環境は、
    MODx 0.9.6.1
    PHP 5.2.1
    MySQL5 5.0.27
    DBは、utf8で指定して作りました。照合順序は、utf8_general_ciとなっています。
      • 36592
      • 970 Posts
      こんにちは~
      Quote from: natalie at Dec 17, 2007, 08:31 PM

      状況が私の場合と似ているので、さっそくコードを修正して見る(修正というか、何も指定がないところにutf8と記入)してファイルをアップロードしてみたところ、今まで普通に表示されていたウェッブ上の日本語も(管理室のツリーの部分も)メンテナンス・のオンパレードになってしまったので、焦って元に戻したところ、無事元に戻ったのですが、データベースの文字化けは、もちろん解消していません。
      この修正は、修正を加えた後にDBに投入される日本語データから有効になるんですよね~
      だから、既に沢山日本語をDBに書いちゃった場合には、それらは逆に化けちゃうんですよ。

      MODxのインストール直後に/manage/includes/config.inc.php 内を…
      とわざわざ「インストール直後」と書かれているのはそういう意味なんです。
      インストール直後ならまだ日本語がDBに書き込まれていないから大丈夫...と。

      既に沢山日本語を書いちゃった場合はどうすれば良いんでしょう?
      一旦DBからデータを吸い出して、コンバーターのようなもので変換して元に戻すとかしないとダメなんでしょうね。
      あるいは、PHPでそういうコードを書いて全テーブルのデータを変換入力し直すとか。

      ここから先は私のスキルではどうにも... :’(
        • 20978
        • 22 Posts
        Quote from: tkfm at Dec 17, 2007, 08:43 PM

        とわざわざ「インストール直後」と書かれているのはそういう意味なんです。
        インストール直後ならまだ日本語がDBに書き込まれていないから大丈夫...と。

        そっそういうことですか :’(

        私のスキルは、tkfmさんの遙か下のレベルなんで、私の場合、地道に手動で直していくしかないかと思います(TT) 情けないですが、そちらの方が早かったりするかも。。。

        それにしても、皆さん、私みたいに知らないでいました~ってことないんでしょうかね。なんて間抜けなんでしょう!
          • 33463
          • 35 Posts
          こんちは。
          あまり役に立つ情報ではない事を前置きしておきます^^;

          0.9.5→0.9.6にバージョンアップした時にコンテンツが文字化けで全滅した経験があります。
          phpMyAdminとNavicatの両方を使い色々やったのですが文字化けを修正出来ずに諦めかけたのですが
          WebminでMySQLデータのバックアップを取ったら何故か文字化けしておらず正常でした。

          理由は分かりませんが、そんなん有り?みたいな気分でした。
          但しWebmin使えるなんて限られた環境なんで役には立たない情報ですよね^^;
            • 20978
            • 22 Posts
            Quote from: zephyr at Dec 18, 2007, 05:34 PM

            0.9.5→0.9.6にバージョンアップした時にコンテンツが文字化けで全滅した経験があります。
            phpMyAdminとNavicatの両方を使い色々やったのですが文字化けを修正出来ずに諦めかけたのですが
            WebminでMySQLデータのバックアップを取ったら何故か文字化けしておらず正常でした。

            理由は分かりませんが、そんなん有り?みたいな気分でした。
            但しWebmin使えるなんて限られた環境なんで役には立たない情報ですよね^^;

            zephyrさん、

            お返事、ありがとうございます。Webminというのがあるのですね~ 

            ご自分でサーバーを持ってらっしゃるのでしょうか。。。
            残念ながら私が借りているサーバーは、アプリケーションのオプションには、ないです。

            php+MySQLは、全然詳しくないのですが、もうすでにphp+MySQLでかかれているプログラムをDLして使ってみるのって無謀ですが結構好きなんです。今までもウェッブ上は、大丈夫だけどDBが文字化けという経験あるのですが、今回は、油断していました。

            とにかく、今まで書き込んだコンテンツ(日本語の部分)をコピペでパソコン上に保存して、またMODxに移すという作業をボチボチ始めねばと思っています。丁度、冬季休暇にもなりますし~ あ~、情けないったらありゃしない :’(