|
CLI в Windows. CP1251 и CP866 различие?
|
|||
---|---|---|---|
#18+
Почему когда я вставляю кириллические буквы в столбец с кодировкой utf8, если: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Коды 2-х байтовых кириллических символов не соответствуют таблице UTF8! Должно быть: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
При SET NAMES cp866 символы заносятся в столбец с правильными кодами. Почему CP1251 меняет коды букв кириллицы несмотря на выставленную кодировку столбца utf8? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2019, 15:31 |
|
CLI в Windows. CP1251 и CP866 различие?
|
|||
---|---|---|---|
#18+
SET NAMES устанавливает, в какой кодировке поступают данные от клиента (из какой кодировки конвертировать в требуемую для поля) и в какой кодировке следует отдавать клиенту данные (в какую кодировку конвертировать данные перед отправкой). Если у тебя "При SET NAMES cp866 символы заносятся в столбец с правильными кодами." - значит, у твоего консольного клиента текущая кодировка CP866. И при перекодировании информации от клиента в UTF8 получаются верные коды. А если данные, пришедшие от клиента в 866, пробовать перекодировать, словно они в 1251, ясен пень в таблицу ляжет ерунда. Твоё счастье, что неверное преобразование в твоём случае - обратимо. Поэтому консольный клиент отображает таки кириллицу. Если бы сочетание кодировок оказалось таким, что прямое и последующее обратное преобразования не были комплементары, глазеть бы тебе на крокозяблы или на знаки вопроса... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2019, 16:01 |
|
CLI в Windows. CP1251 и CP866 различие?
|
|||
---|---|---|---|
#18+
авторзначит, у твоего консольного клиента текущая кодировка CP866 А почему тогда если не прописывать никакие SET NAMES со старта сессии, то клиентом (windows terminal) по умолчанию выбирается именно CP1251? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2019, 17:26 |
|
CLI в Windows. CP1251 и CP866 различие?
|
|||
---|---|---|---|
#18+
Возможно, в конфиге прописано такое дефолтовое значение. Или в переменных окружения оно присутствует. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2019, 18:21 |
|
CLI в Windows. CP1251 и CP866 различие?
|
|||
---|---|---|---|
#18+
PowRTocHА почему тогда если не прописывать никакие SET NAMES со старта сессии, то клиентом (windows terminal) по умолчанию выбирается именно CP1251? Потому что эта глупая утилита не в состоянии получить текущую кодовую страницу ввода и считает ею ANSI. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2019, 13:50 |
|
|
start [/forum/topic.php?fid=47&fpage=35&tid=1829127]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 144ms |
0 / 0 |