mysql 4字符插入报错,如果4字符我们不需要可以过滤掉
def clean(desstr,restr=''):
#过滤表情
try:
co = re.compile(u'['u'U0001F300-U0001F64F' u'U0001F680-U0001F6FF'u'u2600-u2B55]+')
except re.error:
co = re.compile(u'('u'ud83c[udf00-udfff]|'u'ud83d[udc00-ude4fude80-udeff]|'u'[u2600-u2B55])+')
return co.sub(restr, desstr)
print(clean('shanghai'))
运行结果:
shanghai
代码中的正则编码解释如下:
- # 符号和象形字 - # 表情符号 - # 交通符号和地图符号 - # 其它符号
上面那个不可以可以试试下面这个:
def clean(desstr,restr=''):
#过滤表情
try:
# python UCS-4 build的处理方式
co = re.compile(u'[U00010000-U0010ffff]')
except re.error:
# python UCS-2 build的处理方式
co = re.compile(u'[uD800-uDBFF][uDC00-uDFFF]')
return co.sub(restr, desstr)
print(clean('shandong'))
运行结果:
shandong



