MilkyStep Official Community

メルマガ・ステップメール配信ソフトMilkyStep利用者のコミュニティです。

MilkyStep Professional バージョン1.40で文字化けします

お世話になります。

MilkyStep Professional バージョン1.40にバージョンアップしたところ、メルマガタイトル、過去の配信内容が文字化けするようになりました。

再バージョンアップしても状況は変わりません。

火, 10月 12 2010 » ユーザからの投稿

27 Responses

  1. Igreks Inc. 10月 12 2010 @ 10:14 PM

    Web-lab 様

    ご迷惑をおかけしております。

    バージョンアップの前に取得したバックアップを復元し、その後、「共通設定」→「データベースの再構築」を実行してみてください。

    原因については現在調査中です。

  2. Igreks Inc. 10月 12 2010 @ 11:14 PM

    Web-lab 様

    もしよろしければお使いのMySQLのバージョンを教えていただけますでしょうか?

  3. web-lab 10月 12 2010 @ 11:27 PM

    お世話になります。

    MySQLのバージョンは5.0.77です。

  4. Igreks Inc. 10月 12 2010 @ 11:52 PM

    Web-lab 様

    ありがとうございます。

    ちなみにバックアップから復元した後は文字化けは発生していないでしょうか?

  5. web-lab 10月 13 2010 @ 12:00 AM

    お世話になります。

    バックアップを取っていなかったので、復元することができません。

  6. Igreks Inc. 10月 13 2010 @ 7:36 AM

    Web-lab 様

    以下をお試しください。

    1.サーバのMilkyStep用ディレクトリ内の「lib」の中の「db.pl」というファイルをローカルにダウンロードします。
                ↓
    2.「db.pl」ファイルをテキストエディタで開き、18行目あたりの「&db::query(“SET NAMES utf8”);」という行の頭に「#(シャープ)」をつけてコメントアウトします。
                ↓
    3.ファイルを保存し、「db.pl」を先ほどの「lib」ディレクトリ内に上書きでアップロードします。

    これで文字化けが治るかもしれません。

  7. Igreks Inc. 10月 13 2010 @ 8:20 AM

    web-lab 様

    今回の文字化けの原因としては、web-lab様のMySQLの環境が、バイナリから受け取ったバイト列をデフォルトでLatin1文字コードでセットする設定になっている可能性があるということと、前バージョンまでのMilkyStepで、MySQLのクエリー発行時にUTF8を使用することを明示的に示していなかったことによると思われます。

    以下を一度お試しください。

    1.サーバのphpMyAdminにログインする

    2.左側からMilkyStep用のデータベース名を選択

    3.上部の「エクスポート」タブをクリック

    4.エクスポートの準備画面が表示されるので、テーブルが全て選択されているのを確認し、中央の「構造」欄の「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT を追加」にチェックを入れる。

    5.下にスクロールし、「ファイルに保存する」と圧縮方式「なし」にチェックを入れる。

    6.右下の「実行する」ボタンをクリックし、ファイルをローカルに保存する。

    7.インターネット上から「秀丸エディタ」をダウンロードし、PCにインストールする。

    8.先ほどダウンロードしたエクスポートファイルを「秀丸」で開く。

    9.メニューから「ファイル」→「名前をつけて保存」を選択

    10.適当な名前をつけ、「エンコードの種類」を「欧文」に指定し、保存。
    (変換できない文字は「?」に変換)

    11.一度秀丸を閉じ、10で保存したファイルを再度開く。
              ↓
    ファイル内の?以外の日本語部分が文字化けしてないのを確認

    12.再びphpMyAdminで、左側からMilkyStep用のデータベース名を選択し今度は「インポート」タブをクリック。

    13.インポートするファイルに11のファイルを指定し、ファイルの文字セットは「UTF8」を選択。

    14.右下の「実行する」ボタンをクリックしてインポート

    以上で文字化けが解消できるはずです。

  8. web-lab 10月 13 2010 @ 9:43 PM

    お世話になります。

    最初の方法で文字化けが解消されたのですが、今後のことを考えると2つ目の方法の方がいいのでしょうか?

  9. Igreks Inc. 10月 13 2010 @ 9:59 PM

    Web-lab 様

    はい。

    おそらくMySQLの日本語文字が文字化けしている状態で格納されていると思われますので、今後のバージョンアップ時にも同じような現象が発生する可能性があります。

    データ量が膨大にならないうちに、2番目の方法でデータベース内の日本語を正常に戻しておいた方が、後々のためにはよいと思います。

    また、2番目の方法を行った後は、1番目の方法で行った「db.pl」を元の状態に戻しておいてください。

  10. web-lab 10月 13 2010 @ 10:19 PM

    お世話になります。

    「秀丸エディタ」は有料のようですが、無料で同機能のエディタはないでしょうか?

  11. Igreks Inc. 10月 13 2010 @ 10:54 PM

    Web-lab 様

    秀丸エディタはシェアウェアですが、実質無期限の試用期間が付いております。

    ですので、今後継続的に使用していくのであれば支払いが必要になりますが、ご自分がまだ試用期間だと思って試用していれば支払いの義務は生じません。

    参考
    http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1436775124

  12. web-lab 10月 15 2010 @ 4:03 PM

    お世話になります。

    インポートに失敗してしまいます。

    下記がエラーメッセージです。

    エラー
    実行した SQL:


    — ??????: `mydomains_ms`

    CREATE DATABASE `mydomains_ms` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

    MySQLのメッセージ:

    #1007 – Can’t create database ‘mydomains_ms’; database exists

  13. Igreks Inc. 10月 15 2010 @ 6:19 PM

    Web-lab 様

    「同じ名前のテーブルが存在するためテーブルが作れない」
    というエラーが出ていますね。

    エクスポートするとき、「Drop tabele・・・」の項目にチェックが入っていなかったのではないでしょうか?

    こちらを参考にもう一度データをエクスポートするところからやってみてください。
    http://milkystep.com/ms_poc/?p=303&cpage=1#comment-242

  14. web-lab 10月 15 2010 @ 6:42 PM

    お世話になります。

    私のサーバーはphpMyAdmin – 2.11.9.6なのですが、「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT」の「EVENT」がありません。

    バージョンの違いで、操作が違うのではないでしょうか?

  15. Igreks Inc. 10月 15 2010 @ 6:50 PM

    Web-lab 様

    「EVENT」が無いのは無視してもらって大丈夫です。
    ともかくその項目にチェックを入れてください。

  16. web-lab 10月 15 2010 @ 7:47 PM

    お世話になります。

    チェックを入れて作業を進めた結果がエラーでした。

    おそらくバージョンの違いで、何かが足らないのだと思います。

    下記が画面のキャプチャ画像です。

    http://g.pic.to/14baze

    チェックを入れるところが足らないのではないでしょうか?

  17. Igreks Inc. 10月 15 2010 @ 10:16 PM

    Web-lab 様

    すいません。訂正します。
    エラーの意味は、「テーブルが作成できない」ではなく「データベースが作成できない」ですね。

    写真を見ましたが、データーベースそのものをエクスポートしようとしているようです。

    エクスポートするのは「ms_」がつくテーブルだけです。

    左側から、データベース名を選択し、メイン画面に「ms_」がつくテーブル一覧が表示されている状態で、「エクスポート」をクリックですよ。

    お間違いないように。

  18. web-lab 10月 15 2010 @ 10:58 PM

    お世話になります。

    テーブルをエクスポートして「欧文」で保存しましたが、日本語が文字化けしています。

    「欧文」で保存で間違いありませんか?

  19. Igreks Inc. 10月 15 2010 @ 11:49 PM

    Web-lab 様

    使っているサーバが違うので必ずしも「欧文」であるとは限りませんが・・・
    (筆記体のF(エフ)みたいな字がいっぱいあったら多分欧文です)
    もしかしたらEUC-JPである可能性もあります。

    秀丸で元のエクスポートファイルを開き、「ファイル」→「エンコードの種類」からいろいろ文字コードを試してみて、文字化けしなかったらそれが正しい文字コードです。

  20. web-lab 10月 16 2010 @ 12:02 AM

    お世話になります。

    いろいろ試してみます。

    P.S.
    次回のバージョンアップで、なんとか対応できませんか?

  21. Igreks Inc. 10月 16 2010 @ 12:23 AM

    Web-lab 様

    対応?何のですか?

    1.40で文字化けに対応したので、もともと文字化けしてる状態で格納されている環境の人は、そのままコントロールパネルに出力されているだけです。

    対応というのはWeb-lab様の環境にアクセスして文字化けを修正しろということでしょうか?

  22. web-lab 10月 16 2010 @ 12:32 AM

    お世話になります。

    文字コードをいろいろ試しましたが、全て文字化けします。

    こんなことってあるんですかね。。。

    次回のバージョンアップで、自動的に文字化けが直るようにはできませんか?

  23. Igreks Inc. 10月 16 2010 @ 12:45 AM

    Web-Lab 様

    >文字コードをいろいろ試しましたが、全て文字化けします。

    それはあり得ません。

    ここで言っている「日本語」とは、行頭にハイフン(-)が付いていない行の日本語のことです。

    行頭にハイフンが付いている行の日本語は、文字化けではなく認識できないため?となっているはずです。

  24. web-lab 10月 16 2010 @ 1:48 AM

    お世話になります。

    やはり文字コードを変えても文字化けします。

    行頭にハイフンが付いている行の日本語が、”?”になる文字コードがありません。

    何か要因があると思いますが、見つけるのに時間がかかりそうですね。。。

    ちなみにエクスポートデータの拡張子は、SQLでいいでしょうか?

  25. Igreks Inc. 10月 16 2010 @ 7:59 AM

    >行頭にハイフンが付いている行の日本語が、”?”になる文字コードがありません。

    過去のコメント( http://milkystep.com/ms_poc/?p=303&cpage=1#comment-256 )を見る限りでは、「?」が含まれていますよ。

    同じようにエクスポートしてなぜ2回目は違うのでしょうか???

    >ちなみにエクスポートデータの拡張子は、SQLでいいでしょうか?

    はい。

  26. web-lab 10月 16 2010 @ 2:45 PM

    お世話になります。

    エクスポートしたデータを冷静に見てみました。

    ms_actionlogは日本語ですが、ms_attri、ms_definehead、ms_his等が文字化けしています。

    ms_attri、ms_definehead、ms_his等が日本語になるようにエンコードして、それをインポートすることで日本語になりました。

    以上ご報告です。

  27. Igreks Inc. 10月 16 2010 @ 7:55 PM

    Web-lab 様

    ご報告ありがとうございます。

    設定お疲れさまでした。

    ms_actionlogテーブルはバージョンアップ直後から、cronが動いていたため、正規の文字コード(UTF8)で日本語が更新されていたのかもしれませんね。

    データが戻って何よりです。

Login