2014-01-30 241 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); 
}