我需要將(以Python)4字節的字符轉換爲其他字符。這是將其插入到我的UTF-8 mysql數據庫沒有得到一個錯誤,如:「不正確的字符串值:在第1行‘\ XF0 \ x9F \ X94 \ x8E’列‘線’」Python,轉換4個字節的字符以避免MySQL錯誤「不正確的字符串值:」
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