2014-01-30 242 views
1

我们有一个只支持utf8的mySQL DB。但是我们正在获取一些需要utf8mb4才能存储在mySQL中的数据源。我们如何检测(使用Java)字符串是否需要utf8mb4字符集?检测utf8mb4字符集要求

回答

4

需要utf8mb4的字符在Java中表示为代理对,占用2个字符。因此,检测它们的简单方法是检查字符中字符串的长度是否与代码点的数量相同:

boolean requiresMb4(String s) { 
    int len = s.length(); 
    return len != s.codePointCount(0, len); 
}