Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как узнать, какую кодировку использует клиент при подключении?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Есть у моей базы MySQL 5.7 (enterprise-лицензия) клиент, висит подолгу. Отличается мерзким поведением: берёт из базы строку с русскими буквами, что-то там с ней делает и создаёт новую запись в базе (видоизменённый клон исходной), в которой исходная строка уже "битая" - вместо русских буков я вижу "?" в том же количестве и на тех же местах, где раньше была родная и милая сердцу кириллица. Есть подозрение, что клиент по каким-то неведомым причинам скатился в... latin1. Нужно это как-то проверить, но клиент тот - простой бинарник (zabbix_server, если это может быть полезно), компилируемый из сотни-другой сишных файлов, так что лезть в этот кодовый ад и дебажить его - мне пока ещё не улыбается. Хотелось бы проще: зайти root'ом на сервер MySQL и спросить: "Мускуль, а вот скажи-ка мне, какие кодировки используют клиенты, пришедшие к тебе с IP такого-то?" В том же воркбенче можно посмотреть очень многое... но что-то просто перечень текущих соединений, в котором можно было узнать свойства оных соединений я там не нашёл. Может быть, плохо искал? Неужели даже в Enteprise-ной версии такую, казалось бы, элементарную информацию получить никак нельзя? Как всё-таки узнать настройки кодировок при обмене между моим сервером и НЕ моим клиентом? Заранее огромное спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2016, 21:36 |
|
||
|
Как узнать, какую кодировку использует клиент при подключении?
|
|||
|---|---|---|---|
|
#18+
DRVTiny, Можно попробовать включить Query Log, посмотреть не дает ли этот клиент каких- либо команд, связанных с кодировками. Но есть шанс, что он просто врет кодировку где-то внутри себя. И тогда упражнения с MySQL могут и не помочь. Прошу прощения за оффтоп: DRVTinyenterprise-лицензияВпервые, наверное, вижу, что кто-то использует Enterprise-лицензию. Можно полюбопытствовать, для чего? И, кстати, техподдержка не должна помогать в таких случаях? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2016, 22:12 |
|
||
|
Как узнать, какую кодировку использует клиент при подключении?
|
|||
|---|---|---|---|
|
#18+
miksoftИ, кстати, техподдержка не должна помогать в таких случаях? Почему техподдержка MySQL должна помогать в случаях, когда сторонний клиент шлёт голимую хреноту? DRVTinyисходная строка уже "битая" - вместо русских буков я вижу "?" в том же количестве и на тех же местах, где раньше была родная и милая сердцу кириллица.Какой бы ты клиент не использовал, хранящаяся в БД информация перед отображением проходит минимум два преобразования кодировки (и крайне редко исходная кодировка преобразования совпадает с конечной). Думаю, что самое правильное - это выловить сниффером оригинал передаваемой на клиента и от клиента (после обработки) информации, и по этим данным пытаться понять, что отдаёт клиент. PS. Запросто может ведь статься, что это клиент получает данные вовсе не в той кодировке, в которой должен... и вообще - как определить, кто более прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2016, 22:21 |
|
||
|
Как узнать, какую кодировку использует клиент при подключении?
|
|||
|---|---|---|---|
|
#18+
DRVTinyОтличается мерзким поведением: берёт из базы строку с русскими буквами, что-то там с ней делает и создаёт новую запись в базе (видоизменённый клон исходной)А как много времени проходит между "берёт" и "создаёт"? Как велики паузы между запросами? У меня было такое, что за секунды сервер успевал отваливаться от клиента (были установлены очень малые значения в директивах idle_timeout или как-то так), а после автоматического переподключения клиент заново не инициализировал соединение с правильной кодировкой. Вернули дефолтовое значение, вроде, восемь часов - нормально стало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2016, 22:44 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=47&tid=1831178]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
56ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 366ms |

| 0 / 0 |
