欧文で保存すると文字化けします
toneです。お世話になります。
phpMyAdminについては、「~_ms」でログインしたら
ms_で始まるテーブルを見つけることができました。
ありがとうございます。
ところで、他の人への回答を見てローカルに
ダウンロードして秀丸エディタで開いて
欧文で保存したのですが、文字化けしました。
8.先ほどダウンロードしたエクスポートファイルを「秀丸」で開く。
9.メニューから「ファイル」→「名前をつけて保存」を選択
10.適当な名前をつけ、「エンコードの種類」を「欧文」に指定し、保存。
(変換できない文字は「?」に変換)
11.一度秀丸を閉じ、10で保存したファイルを再度開く。
↓
ファイル内の?以外の日本語部分が文字化けしてないのを確認
上記の部分で?以外の日本語部分とありますが、
日本語部分が全くない状態になります。
欧文で保存でよいのでしょうか。
よろしくお願いします。
ちなみに、欧文で保存すると、
<保存前>
— ホスト: localhost
— 生成時間: 2010 年 10 月 15 日 23:19
— サーバのバージョン: 5.1.20
— PHP のバージョン: 5.2.5
<欧文で保存後>
— ???: localhost
— ????: 2010 ? 10 ? 15 ? 23:19
— ?????????: 5.1.20
— PHP ??????: 5.2.5
となります。
tone 様
行の最初にハイフン「-」がついている行は説明の行で、もともと文字化けしていません。
ですので、文字コードを変えて保存したのでその部分は「??」になっていて当然です。
その他の日本語の部分を確認してください。
その他の日本語の部分です。
<保存前>
INSERT INTO `ms_actionlog` (`no`, `type`, `start`, `called_by`, `log`) VALUES
(40175, 1, ‘2010-10-15 22:40:03’, ”, ‘ステップメールが登録されていませんでした。\n’),
(40162, 6, ‘2010-10-15 22:10:04’, ”, ‘自動代理登録対象のIDをチェック中・・・\n対象のIDはありませんでした。\n’),
<欧文保存後>
INSERT INTO `ms_actionlog` (`no`, `type`, `start`, `called_by`, `log`) VALUES
(40175, 1, ‘2010-10-15 22:40:03’, ”, ‘?????????????????????\n’),
(40162, 6, ‘2010-10-15 22:10:04’, ”, ‘?????????ID??????キキキ\n???ID??????????\n’),
(40179, 1, ‘2010-10-15 22:50:02’, ”, ‘?????????????????????\n’),
(40182, 6, ‘2010-10-15 23:00:04’, ”, ‘?????????ID??????キキキ\n???ID??????????\n’),
いかがでしょうか。
tone 様
INSERT INTO `ms_actionlog` (`no`, `type`, ・・・
の部分ではないところはどうでしょう?
例えば、INSERT INTO `ms_his_ID名`・・・のあたりは?
そこも含めて全てダメであれば、「欧文」ではなく、「EUC-JP」かもしれません。
一度お試しいただけますでしょうか?
INSERT INTO ‘ms_his_・・・の部分は、こうなっています。
INSERT INTO `ms_his_mag01` (`no`, `story_no`, `html`, `deliv_day`, `deliv_aday`, `deliv_time`, `subject`, `body`, `filter_cont`, `users`, `done_users`, `time_required`, `complete`, `pid`, `total_error`, `Host_not_exists`, `Account_not_exists`, `Mailbox_unavailable`, `Server_error`, `Authen_error`, `Auto_return`, `Other`) VALUES
(1, 0, 0, ‘2010-07-28′, 3, ’18:39:34’, ‘繧ュ繝」繝ウ繝壹・繝ウ譛滄俣荳ュ縺縺醍┌譁吶〒繝・・繝ォ繧ゅi縺医∪縺・, ‘笆縺ェ縺懊∽サ頑律譛ャ譬ェ繧定イキ縺・・縺悟些髯コ縺ェ縺ョ縺具シ歃r\nhttp://123direct.info/tracking/af/212387/WEvhqO3u/ \r\n\r\n笆繝峨Ν縺悟エゥ螢翫@縺滓凾縺ォ雉・肇繧貞ョ医k譁ケ豕表r\nhttp://123direct.info/tracking/af/212387/aDTdcAGN/ \r\n\r\n笆繝ッ繝ウ繧ソ繧、繝繧ェ繝輔ぃ繝シ繝・Φ繝励Ξ繝シ繝医・繝ャ
文字化けですね。
EUCで保存すると、ms_actionlogの日本語はOKなのですが、ms_his_ID名の方は、
INSERT INTO `ms_his_mag01` (`no`, `story_no`, `html`, `deliv_day`, `deliv_aday`, `deliv_time`, `subject`, `body`, `filter_cont`, `users`, `done_users`, `time_required`, `complete`, `pid`, `total_error`, `Host_not_exists`, `Account_not_exists`, `Mailbox_unavailable`, `Server_error`, `Authen_error`, `Auto_return`, `Other`) VALUES
(1, 0, 0, ‘2010-07-28′, 3, ’18:39:34’, ‘ã??ã?・ã??ã?šã??ã??期é?“ä¸?ã??ã?‘ç?¡æ?™ã?§ã??ã??ã??ã??ã?‰ã??ã??ã?™’, ‘â??ã?ªã?œã??ä?Šæ??æœ・æ?ªã?’è??ã?†ã?®ã?Œå?±é™ºã?ªã?®ã??ï?Ÿ\r\nhttp://123direct.info/tracking/af/212387/WEvhqO3u/ \r\n\r\nâ??ã?‰ã??ã?Œå´©å・Šã??ã?Ÿæ™?ã??è?‡ç”・ã?’å®?ã??æ??æ??\r\nhttp://123direct.info/tracking/af/212387/aDTdcAGN/ \r\n\r\nâ??ã?¯ã??ã?¿ã?¤ã??ã?ªã??ã?¡ã??ã?†ã??ã?
という表示になります。これでOKですか?
tone 様
EUCでもダメなら、SJISでしょうか・・・
いずれにせよ、その状態ではダメだと思います。
以下の投稿を参考に、「行頭にハイフンがある行」・「ms_actionlogの部分」以外の日本語が正常になるように秀丸でエンコードし、それをインポートしてみてください。
http://milkystep.com/ms_poc/?p=303&cpage=2#comment-274
インポート後、「配信ログ」の日本語は文字化けするかもしれませんが、その他は正常に戻るはずです。
変換前のファイルを秀丸で開くと、「自動判定-Unicode(UTF-8)です。
次に、名前を付けて保存のときに、エンコードの種類を
EUC、 Shift-JIS、 JIS、 欧文、UTF-16、UTF-7と試しましたが、
ms_definehead や ms_hisなど、文字化けが解消されません。
「ms_definehead や ms_his等が日本語になるようにエンコード」
と先の人も書いてましたが、日本語になるようにとは、どのエンコードを
選んだらなったのでしょうか。上記6種類のエンコードでは文字化けのまま
でした。よろしくお願いします。
tone様
「名前をつけて保存」するまえに、秀丸の「ファイル」←「エンコードの種類」からいろいろ試してみてください。
秀丸でエンコードしたり、IEを使って文字化け部分だけを抽出したテキストで自動エンコードしてみましたが対応するエンコードが見つかりませんでした。
tone 様
http://milkystep.com/ms_poc/?p=308&cpage=1#comment-273 のコメントから推測すると、もともとの文字コードがUTF8のような感じもするのですが・・・
エクスポートした元のファイル(エンコードしていないファイル)の「ms_his_ID」のあたりの日本語はどのようになっていますか?
おっしゃるとおり、元のファイルはUTF8です。
ms_his_IDは、以下の通りです。
INSERT INTO `ms_his_xxxx` (`no`, `story_no`, `html`, `deliv_day`, `deliv_aday`, `deliv_time`, `subject`, `body`, `filter_cont`, `users`, `done_users`, `time_required`, `complete`, `pid`, `total_error`, `Host_not_exists`, `Account_not_exists`, `Mailbox_unavailable`, `Server_error`, `Authen_error`, `Auto_return`, `Other`) VALUES
(1, 0, 0, ‘2010-07-28′, 3, ’18:39:34’, ‘ã‚ャンペーン期間ä¸ã ã‘ç„¡æ–™ã§ãƒ„ールもらãˆã¾ã™’, ‘â– ãªãœã€ä»Šæ—¥æœ¬æ ªã‚’è²·ã†ã®ãŒå±é™ºãªã®ã‹ï¼Ÿ\r\nhttp://123direct.info/tracking/af/212387/WEvhqO3u/ \r\n\r\n■ドルãŒå´©å£Šã—ãŸæ™‚ã«è³‡ç”£ã‚’守る方法\r\nhttp://123direct.info/tracking/af/212387/aDTdcAGN/ \r\n\r\n■ワンタイムオファーテンプレートプレゼント\r\n â‡
以下省略。
何かわかりますでしょうか。
tone 様
その元のファイルを開き、「ファイル」→「名前をつけて保存」で、エンコードは「UTF8」を選択して保存してみてください。
先ほどの「ms_his_ID」のあたりの日本語が戻ったら、既出の方法でインポートしてみてください。
元のファイルを開き、「ファイル」→「名前をつけて保存」で、エンコードは「UTF8」を選択して保存してみましたが何も変わりませんでした。
そもそも、phpMyAdminからローカルにダウンロードした元ファイルを秀丸で開いたときに、自動判別のエンコードがUTF8になっている状態で文字化けしているので、再び名前を付けて保存のときも、エンコードを変更しなければUTF8で保存されます。それを開いてもなにもかわらないと思うのですが。
サーバからエクスポートするときの指定で特に注意する点とかありますでしょうか。
tone 様
ダメでしたか。元のファイル自体がすでに欧文で保存されているかもしれないと思ったもので。
どの文字コードにしても文字化けするということは、ファイルが破損してない限りはあり得ないのですが・・・
文字化けしている箇所はどうみても欧文ぽいんですけどね。
バージョンを1.39に戻すことってできますか。
一時しのぎにしかなりませんけど、もう2週間もメルマガ発行できていないので・・・・。
tone 様
一時しのぎであれば、
1.サーバ側のMilkyStep用ディレクトリの「lib」内の「db.pl」をいったんPCにダウンロード。
↓
2.ダウンロードした「db.pl」を秀丸などで開き、「&db::query(“SET NAMES utf8”);」と書いてある行の最初に「#(シャープ)」をつけてコメントアウト。
↓
3.ファイルを保存し、「lib」内に上書きアップロード
で、とりあえずは使えます。
「共通設定」→「バージョンアップ」から、1.32に戻すこともできますが、今回バックナンバー機能なども追加したのでぜひお試しいただければと思います。
ただ、根本的な解決にはなっていないので、時間のある時にまたエンコードに挑戦されることをお勧めします。
そうしないと、今後新しいバージョンが出た時に、また元に戻ってしまうと思います。
お世話になります。
「lib」内の[db.pl」のutf8部分を#コメントアウトして一時しのぎしました。
確かにこの方法だと、次回自動アップデートしたときに、同じ事象になって
またutf8をコメントアウトすることになりますね。
xreaを使っているのですが、文字コードが何なのか、今回特定できず
エンコードできませんでした。
秀丸やIEを使ってコード変換したのですが、、今後の先行きが
不安です。
とりあえず、応急処置だけはできましたのでしばらく
この状態で使ってみます。ありがとうございました。
またよろしくお願いします。