4バイト文字を別の文字に変換する必要があります。これは、私のutf-8 mysqlデータベースに次のようなエラーを出さずに挿入することです: "不正な文字列値: '\ xF0 \ x9F \ x94 \ x8E'列 '行1'の行1 'Python、MySQLのエラーを避けるために4バイトのcharを変換する "Incorrect string value:"
Warning raised by inserting 4-byte unicode to mysqlそれをこのように実行します。
>>> import re
>>> highpoints = re.compile(u'[\U00010000-\U0010ffff]')
>>> example = u'Some example text with a sleepy face: \U0001f62a'
>>> highpoints.sub(u'', example)
u'Some example text with a sleepy face: '
はしかし、私は、コメント内のユーザーと同じエラーが出る「...悪い文字範囲..」私のPythonがUCS-2(ないUCSであるので、これは明らかです-4)ビルド。しかし、私は代わりに何をすべきか明確ではないのですか?
あなたがMySQLで[utf8mb4](http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html)文字セットを使用する場合それはまだ問題ですか? –
わかりません。残念ながら、データベースの文字セットを変更することはありません。 – user984003