0
Python 2.7からMySQLdbを使用してMySQLのlongblob
カラムにバイナリデータを挿入する際に問題がありますが、私は周りを取得する方法がわからない警告:Python 2.7とMySQLdbを使用してMySQLのblobカラムにバイナリデータを挿入する際の警告を避ける方法
CREATE TABLE test_table (
id int(11) NOT NULL AUTO_INCREMENT,
gzipped longblob,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
とテストコード:
#!/usr/bin/env python
import sys
import MySQLdb
blob = open("/tmp/some-file.gz", "rb").read()
sql = "INSERT INTO test_table (gzipped) VALUES (%s)"
conn = MySQLdb.connect(db="unprocessed", user="some_user", passwd="some_pass", charset="utf8", use_unicode=True)
curs = conn.cursor()
curs.execute(sql, (blob,))
ここ
./test.py:11: Warning: Invalid utf8 character string: '8B0800'
curs.execute(sql, (blob,))
は、テーブル定義であります
私はここで答えを探しましたが、不幸にも多くの質問が見つかったようですが、ポスターにはエンコードの問題がないようです。
質問:
- この警告を引き起こしていますか?
- どうすれば削除できますか?