MilkyStep Professional バージョン1.40で文字化けします
お世話になります。
MilkyStep Professional バージョン1.40にバージョンアップしたところ、メルマガタイトル、過去の配信内容が文字化けするようになりました。
再バージョンアップしても状況は変わりません。
メルマガ・ステップメール配信ソフトMilkyStep利用者のコミュニティです。
お世話になります。
MilkyStep Professional バージョン1.40にバージョンアップしたところ、メルマガタイトル、過去の配信内容が文字化けするようになりました。
再バージョンアップしても状況は変わりません。
火, 10月 12 2010 » ユーザからの投稿
Web-lab 様
ご迷惑をおかけしております。
バージョンアップの前に取得したバックアップを復元し、その後、「共通設定」→「データベースの再構築」を実行してみてください。
原因については現在調査中です。
Web-lab 様
もしよろしければお使いのMySQLのバージョンを教えていただけますでしょうか?
お世話になります。
MySQLのバージョンは5.0.77です。
Web-lab 様
ありがとうございます。
ちなみにバックアップから復元した後は文字化けは発生していないでしょうか?
お世話になります。
バックアップを取っていなかったので、復元することができません。
Web-lab 様以下をお試しください。
1.サーバのMilkyStep用ディレクトリ内の「lib」の中の「db.pl」というファイルをローカルにダウンロードします。
↓
2.「db.pl」ファイルをテキストエディタで開き、18行目あたりの「&db::query(“SET NAMES utf8”);」という行の頭に「#(シャープ)」をつけてコメントアウトします。
↓
3.ファイルを保存し、「db.pl」を先ほどの「lib」ディレクトリ内に上書きでアップロードします。
これで文字化けが治るかもしれません。
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.右下の「実行する」ボタンをクリックしてインポート
以上で文字化けが解消できるはずです。
お世話になります。
最初の方法で文字化けが解消されたのですが、今後のことを考えると2つ目の方法の方がいいのでしょうか?
Web-lab 様
はい。
おそらくMySQLの日本語文字が文字化けしている状態で格納されていると思われますので、今後のバージョンアップ時にも同じような現象が発生する可能性があります。
データ量が膨大にならないうちに、2番目の方法でデータベース内の日本語を正常に戻しておいた方が、後々のためにはよいと思います。
また、2番目の方法を行った後は、1番目の方法で行った「db.pl」を元の状態に戻しておいてください。
お世話になります。
「秀丸エディタ」は有料のようですが、無料で同機能のエディタはないでしょうか?
Web-lab 様
秀丸エディタはシェアウェアですが、実質無期限の試用期間が付いております。
ですので、今後継続的に使用していくのであれば支払いが必要になりますが、ご自分がまだ試用期間だと思って試用していれば支払いの義務は生じません。
参考
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1436775124
お世話になります。
インポートに失敗してしまいます。
下記がエラーメッセージです。
エラー
実行した 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
Web-lab 様
「同じ名前のテーブルが存在するためテーブルが作れない」というエラーが出ていますね。
エクスポートするとき、「Drop tabele・・・」の項目にチェックが入っていなかったのではないでしょうか?
こちらを参考にもう一度データをエクスポートするところからやってみてください。
http://milkystep.com/ms_poc/?p=303&cpage=1#comment-242
お世話になります。
私のサーバーはphpMyAdmin – 2.11.9.6なのですが、「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT」の「EVENT」がありません。
バージョンの違いで、操作が違うのではないでしょうか?
Web-lab 様
「EVENT」が無いのは無視してもらって大丈夫です。
ともかくその項目にチェックを入れてください。
お世話になります。
チェックを入れて作業を進めた結果がエラーでした。
おそらくバージョンの違いで、何かが足らないのだと思います。
下記が画面のキャプチャ画像です。
http://g.pic.to/14baze
チェックを入れるところが足らないのではないでしょうか?
Web-lab 様
すいません。訂正します。
エラーの意味は、「テーブルが作成できない」ではなく「データベースが作成できない」ですね。
写真を見ましたが、データーベースそのものをエクスポートしようとしているようです。
エクスポートするのは「ms_」がつくテーブルだけです。
左側から、データベース名を選択し、メイン画面に「ms_」がつくテーブル一覧が表示されている状態で、「エクスポート」をクリックですよ。
お間違いないように。
お世話になります。
テーブルをエクスポートして「欧文」で保存しましたが、日本語が文字化けしています。
「欧文」で保存で間違いありませんか?
Web-lab 様
使っているサーバが違うので必ずしも「欧文」であるとは限りませんが・・・
(筆記体のF(エフ)みたいな字がいっぱいあったら多分欧文です)
もしかしたらEUC-JPである可能性もあります。
秀丸で元のエクスポートファイルを開き、「ファイル」→「エンコードの種類」からいろいろ文字コードを試してみて、文字化けしなかったらそれが正しい文字コードです。
お世話になります。
いろいろ試してみます。
P.S.
次回のバージョンアップで、なんとか対応できませんか?
Web-lab 様
対応?何のですか?
1.40で文字化けに対応したので、もともと文字化けしてる状態で格納されている環境の人は、そのままコントロールパネルに出力されているだけです。
対応というのはWeb-lab様の環境にアクセスして文字化けを修正しろということでしょうか?
お世話になります。
文字コードをいろいろ試しましたが、全て文字化けします。
こんなことってあるんですかね。。。
次回のバージョンアップで、自動的に文字化けが直るようにはできませんか?
Web-Lab 様
>文字コードをいろいろ試しましたが、全て文字化けします。
それはあり得ません。
ここで言っている「日本語」とは、行頭にハイフン(-)が付いていない行の日本語のことです。
行頭にハイフンが付いている行の日本語は、文字化けではなく認識できないため?となっているはずです。
お世話になります。
やはり文字コードを変えても文字化けします。
行頭にハイフンが付いている行の日本語が、”?”になる文字コードがありません。
何か要因があると思いますが、見つけるのに時間がかかりそうですね。。。
ちなみにエクスポートデータの拡張子は、SQLでいいでしょうか?
>行頭にハイフンが付いている行の日本語が、”?”になる文字コードがありません。
過去のコメント( http://milkystep.com/ms_poc/?p=303&cpage=1#comment-256 )を見る限りでは、「?」が含まれていますよ。
同じようにエクスポートしてなぜ2回目は違うのでしょうか???
>ちなみにエクスポートデータの拡張子は、SQLでいいでしょうか?
はい。
お世話になります。
エクスポートしたデータを冷静に見てみました。
ms_actionlogは日本語ですが、ms_attri、ms_definehead、ms_his等が文字化けしています。
ms_attri、ms_definehead、ms_his等が日本語になるようにエンコードして、それをインポートすることで日本語になりました。
以上ご報告です。
Web-lab 様
ご報告ありがとうございます。
設定お疲れさまでした。
ms_actionlogテーブルはバージョンアップ直後から、cronが動いていたため、正規の文字コード(UTF8)で日本語が更新されていたのかもしれませんね。
データが戻って何よりです。