java – 如何识别字符串是否包含不能使用utf8-mb4字符集存储的特殊字符

前端之家收集整理的这篇文章主要介绍了java – 如何识别字符串是否包含不能使用utf8-mb4字符集存储的特殊字符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
请参考这个 tweet和下面的 thread我们正在尝试存储类似的推文到数据库.我无法将这个推文存储在MysqL中,我想知道如何识别,如果字符串包含一个不能被utf8-mb4字符集处理的字符,那么我可以避免存储它.

解决方法

为您造成问题的字符是U 1F603 SMILING FACE WITH OPEN MOUTH,其值不能在16位中表示.当转换为UTF-8时,字节值为f0 9f 98 83,这应该适合在utf8mb4字符集MysqL列中没有问题,所以我将同意其他评论者,它不是一个MysqL问题.如果您可以尝试重新插入此推文,请记录MysqL收到的所有sql语句,以确定在发送到MysqL之前或之后字符是否已损坏.

猜你在找的Java相关文章