**Does it reproduce on recent release?**
yes, 21.6, 21.7 from Docker reproducible

**Describe the bug**
```
CREATE DATABASE `_test.ДБ_atomic_` ENGINE=Atomic;
CREATE TABLE `_test.ДБ_atomic_`.table4
(
    `id` UInt64,
    `Col1` String,
    `Col2` String,
    `Col3` String,
    `Col4` String,
    `Col5` String
)
ENGINE = MergeTree
PARTITION BY id
ORDER BY (id, Col1, Col2, Col3, Col4, Col5)
SETTINGS index_granularity = 8192;
CREATE DICTIONARY `_test.ДБ_atomic_`.dict_example
(
    `id` UInt64,
    `Col1` String,
    `Col2` String,
    `Col3` String,
    `Col4` String,
    `Col5` String
)
PRIMARY KEY id
SOURCE(CLICKHOUSE(HOST 'localhost' PORT 9000 DATABASE '_test.ДБ_atomic_' TABLE 'table4' USER 'default' PASSWORD ''))
LIFETIME(MIN 0 MAX 60)
LAYOUT(HASHED());
INSERT INTO `_test.ДБ_atomic_`.table4 SELECT number, 'Col1','Col2','Col3','Col4','Col5' FROM numbers(100);
SELECT count() FROM `_test.ДБ_atomic_`.table4;
SYSTEM RELOAD DICTIONARIES;
SELECT * FROM system.dictionaries FORMAT Vertical;
```

# returns
```
Row 1:
──────
database:                    _test.ДБ_atomic_
name:                        dict_example
uuid:                        5f7e0f50-345a-497a-9f7e-0f50345aa97a
status:                      NOT_LOADED
origin:                      5f7e0f50-345a-497a-9f7e-0f50345aa97a
type:
key.names:                   ['id']
key.types:                   ['UInt64']
attribute.names:             ['Col1','Col2','Col3','Col4','Col5']
attribute.types:             ['String','String','String','String','String']
bytes_allocated:             0
query_count:                 0
hit_rate:                    0
found_rate:                  0
element_count:               0
load_factor:                 0
source:
lifetime_min:                0
lifetime_max:                0
loading_start_time:          1970-01-01 00:00:00
last_successful_update_time: 1970-01-01 00:00:00
loading_duration:            0
last_exception:
```

* Queries to run that lead to unexpected result

`SELECT count() FROM `_test.ДБ_atomic_`.dict_example;` returns




**Expected behavior**
100

**Error message and/or stacktrace**

```
Code: 36. DB::Exception: Received from localhost:9000. DB::Exception: Dictionary (`_test.ДБ_atomic_.dict_example`) not found.
```

**Stacktrace**
```
0. DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, bool) @ 0x8d31b5a in /usr/bin/clickhouse
1. DB::Exception::Exception<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&) @ 0x8e48943 in /usr/bin/clickhouse
2. DB::ExternalDictionariesLoader::resolveDictionaryName(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const @ 0xf839c52 in /usr/bin/clickhouse
3. DB::ExternalDictionariesLoader::getDictionary(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::Context const>) const @ 0xf839937 in /usr/bin/clickhouse
4. DB::StorageDictionary::read(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::shared_ptr<DB::StorageInMemoryMetadata const> const&, DB::SelectQueryInfo&, std::__1::shared_ptr<DB::Context const>, DB::QueryProcessingStage::Enum, unsigned long, unsigned int) @ 0x100007dd in /usr/bin/clickhouse
5. DB::IStorage::read(DB::QueryPlan&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::shared_ptr<DB::StorageInMemoryMetadata const> const&, DB::SelectQueryInfo&, std::__1::shared_ptr<DB::Context const>, DB::QueryProcessingStage::Enum, unsigned long, unsigned int) @ 0xffe43f7 in /usr/bin/clickhouse
6. DB::InterpreterSelectQuery::executeFetchColumns(DB::QueryProcessingStage::Enum, DB::QueryPlan&) @ 0xfaf63f5 in /usr/bin/clickhouse
7. DB::InterpreterSelectQuery::executeImpl(DB::QueryPlan&, std::__1::shared_ptr<DB::IBlockInputStream> const&, std::__1::optional<DB::Pipe>) @ 0xfaedcbe in /usr/bin/clickhouse
8. DB::InterpreterSelectQuery::buildQueryPlan(DB::QueryPlan&) @ 0xfaecd60 in /usr/bin/clickhouse
9. DB::InterpreterSelectWithUnionQuery::buildQueryPlan(DB::QueryPlan&) @ 0xfc6215e in /usr/bin/clickhouse
10. DB::InterpreterSelectWithUnionQuery::execute() @ 0xfc63231 in /usr/bin/clickhouse
11. ? @ 0xfe22253 in /usr/bin/clickhouse
12. DB::executeQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::Context>, bool, DB::QueryProcessingStage::Enum, bool) @ 0xfe208e3 in /usr/bin/clickhouse
13. DB::TCPHandler::runImpl() @ 0x1069f6c2 in /usr/bin/clickhouse
14. DB::TCPHandler::run() @ 0x106b25d9 in /usr/bin/clickhouse
15. Poco::Net::TCPServerConnection::start() @ 0x1338b30f in /usr/bin/clickhouse
16. Poco::Net::TCPServerDispatcher::run() @ 0x1338cd9a in /usr/bin/clickhouse
17. Poco::PooledThread::run() @ 0x134bfc19 in /usr/bin/clickhouse
18. Poco::ThreadImpl::runnableEntry(void*) @ 0x134bbeaa in /usr/bin/clickhouse
19. start_thread @ 0x9609 in /usr/lib/x86_64-linux-gnu/libpthread-2.31.so
20. __clone @ 0x122293 in /usr/lib/x86_64-linux-gnu/libc-2.31.so
```
{
    WriteBufferFromOwnString ss;
    bool first = true;
    for (const auto & name_and_type : list)
    {
        if (!std::exchange(first, false))
            ss << ", ";
        ss << name_and_type.name << ' ' << name_and_type.type->getName();
    }
    return ss.str();
}
StorageDictionary::StorageDictionary(
    const StorageID & table_id_,
    const String & dictionary_name_,
    const ColumnsDescription & columns_,
    const String & comment,
    Location location_,
    ContextPtr context_)
    : IStorage(table_id_), WithContext(context_->getGlobalContext()), dictionary_name(dictionary_name_), location(location_)
{
    StorageInMemoryMetadata storage_metadata;
    storage_metadata.setColumns(columns_);
    storage_metadata.setComment(comment);
    setInMemoryMetadata(storage_metadata);
}
StorageDictionary::StorageDictionary(