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

UnicodeEncodeError:'latin-1'コーデックは文字をエンコードできません

    Python MySQLdbモジュールを使用しているときに、これと同じ問題が発生しました。 MySQLでは、文字セットに関係なく、テキストフィールドに必要なほぼすべてのバイナリデータを格納できるため、ここで解決策を見つけました:

    PythonMySQLdbでのUTF8の使用

    編集:最初のコメントの要求を満たすために、上記のURLから引用してください...

    "UnicodeEncodeError:'latin-1'コーデックは文字をエンコードできません..."

    これは、MySQLdbが通常すべてをlatin-1にエンコードしようとするためです。これは、接続を確立した直後に次のコマンドを実行することで修正できます。

    db.set_character_set('utf8')
    dbc.execute('SET NAMES utf8;')
    dbc.execute('SET CHARACTER SET utf8;')
    dbc.execute('SET character_set_connection=utf8;')
    

    「db」はMySQLdb.connect()の結果です 、および「dbc」はdb.cursor()の結果です。 。



    1. 可変列名を使用した動的更新ステートメント

    2. ポイントインタイムリカバリを使用してPostgreSQLデータベースのRPOを最小化する方法

    3. Oracleのブールフィールド

    4. SQLクエリの同等性の証明