2011-02-21 12 views
0

私はMySQLデータベースを持つレールアプリケーションを使用しています。これは、国際的な視聴者を持つWebアプリケーションです。数日間の仕事の後、私はすべてのテーブルとデータベース自体が照合としてlatin1_sweedish_ciを持っていることに気付きました。後で、テキストフィールドで、私はこのような雑音ジ​​ャングルを発見しました:文字セットのために破損したデータベースデータを回復する方法

It’s educational and 

明らかに間違った文字セットが原因です。それがUTF-8なら、これは起こりませんでした。しかし、これが起こったので、この破損したデータを回復し/変換することはできますか?

答えて

1

DBをmysqldumpし、iconvでダンプを渡してからリロードすることができます。

0

また、すべての列をバイナリに変換してからUTF-8に変換することもできます。詳細については、mysqlperformanceblog.comおよびdev.mysql.comを参照してください。

0

これも試してみることができます。まずデータベースを取り戻してください。次に、レコードを1つずつ取得してperff utf8_decodeをデータベースに保存します。 charchterがutf8に設定されています...

関連する問題