以下のこの方法は、非常に有望でありながら、その単純さの点で美しく見えます。データベース全体をlatin1としてmysqldumpしてから、utf-8として再エンコードしてインポートするという考え方です。
エクスポート:
インポート:
私はこのソリューションを信用していません。これは完全に
更新#1: Gareth wasn最初ではない これを発見するために。
更新#2: これを試してみたところ、UTF8-stored-as-latin1データベースでうまく機能しました。データベースのデフォルトの文字セットをutf8beforeに切り替えてください。 インポートしないと、特殊文字があった場所に単純な疑問符が表示されます。もちろん、これには他にも多くの影響がある可能性があるので、最初に地獄のようにテストしてください。
また、スキーマのデフォルトに設定されていないテーブルがある場合:
(列固有の文字セット設定がある場合も同じ考えですが、ALTER TABLE [table]を実行する必要があります。 列の変更[設定] CHARACTER SETを指定せずに、テーブルのデフォルトに戻る)