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

エンコーディングの修正

    テキストがUTF-8にエンコードされた後、誤って MacRoman> 。

    MySQLはMacRomanエンコーディングを認識していないため、データベース内でこれを修正することはできません。影響を受ける各テーブルの各行をウォークし、エンコード/デコードのサイクルを逆にしてテキストを修正するスクリプトを作成できます。 Pythonは可能性があり、さまざまなエンコーディングがあります:

    >>> print u'é'.encode('macroman').decode('utf-8')
    é
    >>> print u'ö'.encode('macroman').decode('utf-8')
    ö
    >>> print u'í'.encode('macroman').decode('utf-8')
    í
    

    または、この問題の影響を受けない非ASCIIコンテンツがない場合は、mysqladminを使用してみてください。 SQLダンプをエクスポートし、上記のスクリプトを使用して一度に変換するか、それを実行できるテキストエディタ(おそらくMac上)がある場合は、スクリプトをUTF-8としてロードし、Macとして保存します。ローマ人。最後に、mysql < dump.sqlを使用してダンプを再インポートします 。




    1. SQLの2つの列から一意のペアを見つける方法は?

    2. `SELECT`を使用して関数を呼び出す

    3. PostgreSQLでNULLを使用していなくても、ヘッダーでNULLビットマップを使用しますか?

    4. GROUP BY DESCはどのように順序を選択しますか?