在开始之前,我知道这个问题非常重要,但我几乎查看了所有符合与此问题相关的各种搜索术语的SO问题。不正确的字符串值MySQL和Python的3字节字符
我的问题是,我试图存储一个3字节的字符在utf8中,而不是4个字节,许多问题要求,特别是中文字符。
DB字符集是UTF8,并带有utf8_general_ci归类。列,表和连接字符集也是utf8。
MySQLdb.connect(host, user, passwd, schema, charset ='utf8', use_unicode=True)
我知道use_unicode
是隐含的,但我喜欢冗长。
我得到的警告是:Warning: Incorrect string value: '\xE5\x9B\xBD' for column 'mycolumn' at row 1
这导致在这一领域中选择,导致?
。我的终端支持utf8,以及我的系统编码是utf8。
任何想法都会有帮助。在这个值上调用.decode('utf8')
也不能解决问题。