mysql:14994
From: "N.K." <"N.K." <nakai.kanako@xxxxxxxxxx>>
Date: Wed, 22 Jul 2009 18:24:32 +0900
Subject: [mysql 14994] Re: 文字化けたダンプデータの救済
shin-1さん、はじめまして。 >create table文にはDEFAULT CHARSET=latin1 がついており、 >もちろんdumpデータは全て文字化けていました。 create table文の文字コードを変更されていないのであれば latin1の文字コードのテーブルにsjisのデータをつっこんだので文字化けしているのでは と思いました。 一度すべてのテーブルをdropして、mysqldumpしてきたファイル内にある create table文のDEFAULT CHARSET=latin1をsjisに変更してテーブル再作成後に 再度ロードを試みられてはいかがでしょうか 2009/07/22 14:53 に <shin-1@xxxxxxxxxx> さんは書きました: > 柳本さん、たけさん、こんにちは > >>早速ですが、こちらでいかがでしょうか? >>http://c-brains.jp/blog/wsg/07/06/26-184612.php >> >>外していたらゴメンなさい^^; > > ありがとうございます。柳本さんのコメントを見てから、諦め気分で > 色々キーワードを変えて検索していたところ、私もちょうどその記事 > に行き着いたところでした。 > > おかげさまで、文字化けデータは読めるようになりました。 > いまは、MySQLへ放り込むところで、つまづいています。 > > latin1→utf8の強制変換が掛かっていたという事で、その記事に > あったように(多少違いますが) > 1.秀丸でutf8ファイルとして強制的に開く(警告でるけど無視) > 2.名前をつけて保存で、latin1(欧文)を指定して保存 > 3.再度開くと元のDBに格納されていた文字コードで開ける > という手順で読めるデータに戻すことができました。格納されていたのは > Shift_JISだったようです。 > (3.で開くときは警告無しでしたので完全に戻せたようです) > > 今は、このShift_JISのテキストデータを、きちんとShift_JISのテーブル > として、MySQLに放り込もうとmy.cnfや、DEFAULT CHARSET=の記載など > を色々変えて試してみているところです。 > > DEFAULT CHARSET=latin1の箇所をDEFAULT CHARSET=sjis;に書き換え > > [mysqld] > default-character-set=sjis > skip-character-set-client-handshake > と変えておいて、サーバ再起動。 > > create database を行い。mysqlプロンプト上でset names sjisを行って > から、source /home/〜.dump とやったのですが、selectを掛けてみると > ?????と文字化けしています。 > > show variables like "char%"; を見てみると > | character_set_system | utf8 > と、systemだけがutf8になっています。これは4.1ではutf8固定との事ですし。 > 他は全てsjisになっているし、テキストファイルもSJISで記載されていれば > 問題ないと思ったのですが、手順がどこか間違っているのでしょうか? > >
14988 2009-07-22 01:38 [<shin-1@xxxxxxxxxx> ] 文字化けたダンプデータの救済 14989 2009-07-22 12:17 ┣[Yoshiaki Yanagimoto ] 14990 2009-07-22 14:17 ┗[たけ <zon1966@xxxxxx] 14992 2009-07-22 14:53 ┗[<shin-1@xxxxxxxxxx> ] -> 14994 2009-07-22 18:24 ┗["N.K." <nakai.kanako] 14995 2009-07-22 18:53 ┣[<shin-1@xxxxxxxxxx> ] 14996 2009-07-22 19:30 ┗[<shin-1@xxxxxxxxxx> ]