sql >> データベース >  >> RDS >> Mysql

正しくエンコードされていないデータを含むMySQLテーブルをUTF-8に変換する

    以下のこの方法は、非常に有望でありながら、その単純さの点で美しく見えます。データベース全体をlatin1としてmysqldumpしてから、utf-8として再エンコードしてインポートするという考え方です。

    エクスポート:

    インポート:

    私はこのソリューションを信用していません。これは完全にGarethPriceのブログ 。これまでに彼にコメントを残したすべての人に効果がありました。「すごい、あなたは私の命を救ったばかりです。私はこれに2時間も費やしませんでしたが、2日でした」 私の注意を引いた。

    更新#1: Gareth wasn最初ではない これを発見するために。

    更新#2: これを試してみたところ、UTF8-stored-as-latin1データベースでうまく機能しました。データベースのデフォルトの文字セットをutf8beforeに切り替えてください。 インポートしないと、特殊文字があった場所に単純な疑問符が表示されます。もちろん、これには他にも多くの影響がある可能性があるので、最初に地獄のようにテストしてください。

    また、スキーマのデフォルトに設定されていないテーブルがある場合:

    (列固有の文字セット設定がある場合も同じ考えですが、ALTER TABLE [table]を実行する必要があります。 列の変更[設定] CHARACTER SETを指定せずに、テーブルのデフォルトに戻る)




    1. PostgreSQLマテリアライズドビュー

    2. Terraformを使用したMySQL/MariaDBVaultデータベースシークレットエンジンのプロビジョニング

    3. MySQLから単一のレコードを読み取る簡単な方法

    4. PostgreSQLと認証システムの統合