You have to provide the following information whenever possible.

**Describe the bug**

When use chinese as field name for nested type and query:

````
SELECT * from table array join `xxxx`;
````

it will raise error:

No columns in nested table xxx

**Does it reproduce on recent release?**

ClickHouse server version 21.3.5 revision 54447.

**How to reproduce**

1. create table

````
CREATE TABLE tmp.test1 (`id` String, `products` Nested (`产品` Array(String), `销量` Array(Int32))) ENGINE = ReplacingMergeTree ORDER BY id
````

2.  query

````
SELECT * FROM tmp.test2 array join products;
````

Error：

````
Received exception from server (version 21.3.5):
Code: 208. DB::Exception: Received from localhost:9000. DB::Exception: No columns in nested table products. 
````


**Additional Information**

I've tried using english character as field name, and it works.
column_array = typeid_cast<const ColumnArray *>(&assert_cast<const ColumnConst &>(*elem.column).getDataColumn());
                else
                    column_array = typeid_cast<const ColumnArray *>(elem.column.get());
                const ColumnPtr & column_offsets = column_array->getOffsetsPtr();
                const ColumnTuple & column_tuple = typeid_cast<const ColumnTuple &>(column_array->getData());
                const auto & element_columns = column_tuple.getColumns();
                for (size_t i = 0; i < tuple_size; ++i)
                {
                    String nested_name = concatenateName(elem.name, names[i]);
                    ColumnPtr column_array_of_element = ColumnArray::create(element_columns[i], column_offsets);
                    res.insert(ColumnWithTypeAndName(
                        is_const
                            ? ColumnConst::create(std::move(column_array_of_element), block.rows())
                            : std::move(column_array_of_element),
                        std::make_shared<DataTypeArray>(element_types[i]),
                        nested_name));
                }
            }
            else
                res.insert(elem);
        }
        else
            res.insert(elem);
    }
    return res;
}
namespace
{
using NameToDataType = std::map<String, DataTypePtr>;
NameToDataType getSubcolumnsOfNested(const NamesAndTypesList & names_and_types)