我有一个编码为 utf8 的 MySQL 列。那个 utf8 实际上并不是完整的 utf8 集,但是仅 BMP 字符 长度最多 3 个字节 http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html。我不想尝试将 utf8 插入 MySQL 却发现它不符合 MySQL 的 utf8 参数。有没有办法在尝试插入之前用 Python 测试某些内容是否满足 MySQL 的参数?由于显而易见的原因,捕获异常some_string.encode('utf-8')
不够严格。
>>> len(u'\uffff'.encode('utf8')) < 4 # Good; fits in utf8
True
>>> len(u'\U00010000'.encode('utf8')) < 4 # Bad; utf8mb4 only
False
>>> ord(u'\uffff') < 65536 # Good; fits in utf8
True
>>> ord(u'\U00010000') < 65536 # Bad; utf8mb4 only
False
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)