最近遇到一个问题,公司的数据库是utf-8的字符集,而支持特殊符号,emoji表情,四字节等特殊符号的需要是utf-8mb4的字符集才可以,不然强行插入是会报错的,这时候就需要将获取到的包含特殊符号的字符串进行去除特殊符号的处理。具体方法如下:
//处理四字节 及特殊符号无法保存数据库的问题if (StringUtils.isNotEmpty(string)) {String stringNew = string.replaceAll("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]", "").trim();}
这样经过处理后的string变成stringNew后,里面就不会包含 特殊符号,emoji表情,四字节等字符串了,插入utf-8字符集的数据库也就不会报错了。