0
è
や…
などのいくつかの非ASCII文字を含むMySQL 5.7データベース文字列に、Python3
スクリプトを使用して挿入する必要があります。興味のあるテーブルのすべての列をutf8mb4
に変換しました。PythonとMySQLを使った文字列のエンコーディング
db1 = MySQLdb.connect (
host="host1",
user="user1",
passwd="secret",
db="db1"
)
cursor1 = db1.cursor()
cursor1.execute("USE db1")
との接続
私が正しくè
で文字列を格納することができます。
db1 = MySQLdb.connect (
host="host1",
user="user1",
passwd="secret",
db="db1"
)
cursor1 = db1.cursor()
cursor1.execute("USE db1")
cur.execute("SET NAMES utf8mb4;")
cur.execute("SET CHARACTER SET utf8mb4;")
cur.execute("SET character_set_connection=utf8mb4;")
とに起因するè
が生成されるエラーを接続する、
UnicodeEncodeError: 'latin-1' codec can't encode character '\u2026' in position 1022: ordinal not in range(256)
その逆:…
との文字列は、代わりに次のエラーを生成
_mysql_exceptions.OperationalError: (1366, "Incorrect string value: '\\xE8 string...' for column 'column1' at row 1")
è
は進コードE8
を有しています。
どういうところが間違っていますか?