【问题标题】:Detecting a utf8mb4 charset requirement检测 utf8mb4 字符集要求
【发布时间】:2014-02-23 06:49:07
【问题描述】:

我们有一个只支持 utf8 的 mySQL DB。但是我们得到了一些需要 utf8mb4 来存储在 mySQL 中的数据源。我们如何(在 Java 中)检测字符串是否需要 utf8mb4 字符集?

【问题讨论】:

    标签: java mysql string utf-8 utf8mb4


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2016-11-13
      • 2016-11-28
      • 2016-01-07
      • 2016-05-31
      • 1970-01-01
      • 2016-08-22
      • 2014-03-21
      • 2023-03-17
      相关资源
      最近更新 更多