```sql
SELECT hex(normalizeUTF8NFC('â'))

Received exception from server (version 22.4.5):
Code: 49. DB::Exception: Received from localhost:9000.
 DB::Exception: Column size mismatch (internal logical error): 
While processing hex(normalizeUTF8NFC('â')). (LOGICAL_ERROR)
```

```sql
SELECT
    'â' AS s,
    normalizeUTF8NFC(s) s1,
    normalizeUTF8NFD(s) s2,
    normalizeUTF8NFKC(s) s3,
    normalizeUTF8NFKD(s) s4,
    hex(s),
    hex(s1),    
    hex(s2),
    hex(s3),
    hex(s4)
```
const ColumnString::Offsets & offsets,
        ColumnString::Chars & res_data,
        ColumnString::Offsets & res_offsets)
    {
        UErrorCode err = U_ZERO_ERROR;
        const UNormalizer2 *normalizer = NormalizeImpl::getNormalizer(&err);
        if (U_FAILURE(err))
            throw Exception(ErrorCodes::CANNOT_NORMALIZE_STRING, "Normalization failed (getNormalizer): {}", u_errorName(err));
        size_t size = offsets.size();
        res_offsets.resize(size);
        ColumnString::Offset current_from_offset = 0;
        ColumnString::Offset current_to_offset = 0;
        PODArray<UChar> from_uchars;
        PODArray<UChar> to_uchars;
        for (size_t i = 0; i < size; ++i)
        {
            size_t from_size = offsets[i] - current_from_offset - 1;
            from_uchars.resize(from_size + 1);
            int32_t from_code_points;
            u_strFromUTF8(
                from_uchars.data(),
                from_uchars.size(),
                &from_code_points,
                reinterpret_cast<const char*>(&data[current_from_offset]),
                from_size,
                &err);
            if (U_FAILURE(err))
                throw Exception(ErrorCodes::CANNOT_NORMALIZE_STRING, "Normalization failed (strFromUTF8): {}", u_errorName(err));
            to_uchars.resize(from_code_points * NormalizeImpl::expansionFactor + 1);