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

このウェブサイトはどのようにエンコーディングを修正していますか?

    問題は二重にエンコードされたUTF8文字列を使用したMySQLの障害であったため、MySQLがそれを解決する正しい方法です。

    次のコマンドを実行すると解決します-

    • mysqldump $DB_NAME -u $DB_USER -p -h $DB_HOST.EXAMPLE.NET --add-drop-table --default-character-set=latin1 > export.sql --latin1は、MySQLが文字を分割しないように強制するためにここで使用され、それ以外の場合は使用しないでください。
    • cp export{,.utf8}.sql -バックアップコピーを作成します。
    • sed -i -e 's/latin1/utf8/g' export.utf8.sql -ファイル内のlatin1をutf8に置き換えて、8859-1ではなくUTF-8としてインポートします。
    • mysql $DB_NAME -u $DB_USER -p -h $DB_HOST.EXAMPLE.NET < export.utf8.sql -すべてをデータベースにインポートし直します。

    これにより、約10分で問題が解決します。



    1. MySQLで正規表現を使用する方法は?

    2. SQLServerにテーブルが存在しない場合にテーブルを作成する2つの方法

    3. ALTERTABLEステートメントがSQLServerのCHECK制約と競合していました-SQLServer/TSQLチュートリアルパート89

    4. MySQL-多対多の関係を持つテーブルに挿入する方法