sql >> データベース >  >> RDS >> Oracle

Java-UTF-8文字とUTF-8以外の文字が混在する文字列から正確に60文字をカウントします

    私が理解している限り、あなたはStringを制限したいと思っています エンコードされたUTF-8の長さ 表現は60バイトを超えません。あなたはこのようにそれを行うことができます:

    String s=…;
    CharsetEncoder enc=StandardCharsets.UTF_8.newEncoder();
    ByteBuffer bb=ByteBuffer.allocate(60);// note the limit
    CharBuffer cb = CharBuffer.wrap(s);
    CoderResult r = enc.encode(cb, bb, true);
    if(r.isOverflow()) {
        System.out.println(s+" is too long for "
                          +bb.capacity()+" "+enc.charset()+" bytes");
        s=cb.flip().toString();
        System.out.println("truncated to "+s);
    }
    


    1. 2つのクエリを組み合わせて、MySQLの重複をチェックしますか?

    2. SQL Server(T-SQL)で「時刻」を「日時」に変換する例

    3. TSQL:現地時間をUTCに変換する方法は? (SQL Server 2008)

    4. レコード数に基づいてMysqlクエリの実行時間を計算する