|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
Добрый день. Есть система А, которая по вебсервису ВС1 получала данные. Все было хорошо. Теперь сделали новый вебсервис ВС2 с расширенным функционалом так, что старые запросы приходя на ВС2 перенаправляются на ВС1. Сисему А настроили на новый вебсервис ВС2 и теперь приходят какие-то не читаемые символы типа: GND="Перевод собственных средс??в" PA="200000" PD="29.08.2019" R="0"/><D A="500" CUR="RUR" D="29.08.2019 16:04:36" GND="Перевод собственных средств" PA="500" Т.е. не все символы не читаемые, а какой то единственный. Причем, когда тестирую у себя через соапуй, то и ВС1 и ВС2 все возвращают нормально, в читабельном виде. И только у клиента такая фигня. Может кто-то сталкивался с таким или есть мысли, что это может быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 17:48 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
alexandererДобрый день. Есть система А, которая по вебсервису ВС1 получала данные. Все было хорошо. Теперь сделали новый вебсервис ВС2 с расширенным функционалом так, что старые запросы приходя на ВС2 перенаправляются на ВС1. Сисему А настроили на новый вебсервис ВС2 и теперь приходят какие-то не читаемые символы типа: GND="Перевод собственных средс??в" PA="200000" PD="29.08.2019" R="0"/><D A="500" CUR="RUR" D="29.08.2019 16:04:36" GND="Перевод собственных средств" PA="500" Т.е. не все символы не читаемые, а какой то единственный. Причем, когда тестирую у себя через соапуй, то и ВС1 и ВС2 все возвращают нормально, в читабельном виде. И только у клиента такая фигня. Может кто-то сталкивался с таким или есть мысли, что это может быть?Из советов попросить клиента прислать, то что он отправляет (или взять из логов). Возможно это проблема вообще на его стороне. Посмотреть не присылает ли он BOM заголовок Ничего путного сходу не нагуглил ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 18:18 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
vas0, Строка со знаками вопроса - это из логов клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 18:24 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
похоже на неправильное восстановление текста из кодировки (utf-8) при буфферезированом чтении например передаем строку АБВ-ГДЕ в байтах это Код: java 1. 2.
на кириллицу - 2 байта на аски - 1 байт допустим буффер чтения 8 байт считываем байты до половины буквы Г (только первый байт) и если это преобразовать в строку, то получим Код: java 1.
затем следующую часть начиная со второго байта с преобразованием к строке Код: java 1.
Вот и получится Код: java 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 18:43 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
alexanderer, "у себя" работает. "у клиента" не работает. Кто сравнивать будет? Пушкин? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 18:45 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
Dmitry., А есть метод, как с этим бороться? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 19:02 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
alexandererDmitry., А есть метод, как с этим бороться?есть. Подать на вход заранее известный "" мама мыла раму". Потом логировать до места поломки. Потом патчить. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 19:13 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
alexanderervas0, Строка со знаками вопроса - это из логов клиента. Здесь - уравнение со множеством неизвестных. Почему в логах вопросики? Либо реально зашли символы "?". Либо система логгирования просто не в состоянии формировать символы с кодами старше 127. Провертье это. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 21:16 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
Поскольку русские пуковки в логе есть, то гипотеза "вообще не умеет" - вообще не состоятельна. А вот "неправильное декодирование" - более чем вероятно. Но, в этом случае, открывается широкое поле для разбрасывания разных граблей. Какие конкретно грабли разложены у автора? "Гипотез не измышляю". ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 21:21 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
Dmirii предложил хорошую рабочую версию о буферизации utf-8. Надо ее как-то проверить. Как вариант - она должна циклически проявлятся в испорченном символе с постоянным периодом. Афтор можешь проверить? Если версия верна - то дальше сложнее. Надо искать код где идет самопальная процедура конверсии. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 21:28 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
афтар ты чо не учил кодировки? если у тебя ?? значит проблема в кодировке выясняй в чем отправляете ,в чем принимаете проблем однозначно в этом ,что где то у вас на пути одного сервиса к другому прописаны разные кодировки если не хочешь это лечить отправляй байт массив с нужной кодировкой и далее на выходе делай с ним что душе угодно ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 21:34 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
asv79, ты опять лезешь не по делу - тут кодировка дело второе. в строке и русские и англицкие и большие и малые и цифры. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 21:45 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
вадя, да чего. Пускай идёт разведка боем. Чем больше вопросов зададут ТС-у тем лучше. Не спугнуть бы его только. ТС-а... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 21:48 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
maytonвадя, да чего. Пускай идёт разведка боем. Чем больше вопросов зададут ТС-у тем лучше.да проблемка интересная maytonНе спугнуть бы его только. ТС-а...asv79 старается это сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 21:50 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
вадяasv79, ты опять лезешь не по делу - тут кодировка дело второе. в строке и русские и англицкие и большие и малые и цифры. вадя если ты не в курсе то все англ буквы умещаются в аски и в любой кодироке они прочитаюся правильно проблема в русских буквах и в том что где то наверняка стоит utf-8 а где то по умолчанию ср -123123 какой нить поэтому часть и не читаема ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 21:52 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
Проблема интересная. И ТС судя по дате регистрации, не новичок. Большая вероятность что "коллективный разум" не сможет помочь. Очень интересно в чем трабла. ТС отпишись если не трудно, чем дело кончилось. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 21:57 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
В фразе "Перевод собственных средс??в" испорчена русская буква т с кодом 0x0442 по Unicode. Если это так - то для двух вопросительных знаков бинарном представлении мы должны увидеть глазками эти коды в наложении на маску 110xxxxx 10xxxxxx далее - сбой декодера UTF-8 где второй байт обрезан. А потом сбой декодера на старте где приходит хвостик буквы т но воспринимается декдером некорректно т.к. стартовая маска неожиданно стала 10*** вместо ожидаемой 110***. Вобщем все это так... поток моих мыслей. Как оно на самом деле - ХЗ. Кодировку действительно можно сломать дважды в двух местах и получить ошибку Шрёдингера. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 22:12 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
mayton, глазастый alexandererТ.е. не все символы не читаемые, а какой то единственный. Причем, когда тестирую у себя через соапуй, то и ВС1 и ВС2 все возвращают нормально, в читабельном виде. И только у клиента такая фигня.есть подозрение на качество сети.... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 22:25 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
asv79вадя если ты не в курсе то все англ буквы умещаются в аски и в любой кодироке они прочитаюся правильноОсобенно правильно они прочитаются в UTF-16/UTF-32. Для простоты - будучи порезаны на кусочки нечётного размера. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 23:12 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
Basil A. Sidorovasv79вадя если ты не в курсе то все англ буквы умещаются в аски и в любой кодироке они прочитаюся правильноОсобенно правильно они прочитаются в UTF-16/UTF-32. Для простоты - будучи порезаны на кусочки нечётного размера. если мне память не изменяет то все 128 инглишь символов коректно читаются в любой уникод кодировке) проверять не буду) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 23:21 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
asv79Basil A. Sidorovпропущено... Особенно правильно они прочитаются в UTF-16/UTF-32. Для простоты - будучи порезаны на кусочки нечётного размера. если мне память не изменяет то все 128 инглишь символов коректно читаются в любой уникод кодировке) проверять не буду) Зря ) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 23:23 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
забыл никasv79пропущено... если мне память не изменяет то все 128 инглишь символов коректно читаются в любой уникод кодировке) проверять не буду) Зря ) проверил ,разное getByte возращает) вот так и верь российской прессе) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 23:27 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
проверил еще раз ,все таки книга не врет) все кодировки возвращают 97 на английское а) кроме 2 байтовых значит проблема аффтара сей темы сузилась до поиска где он имел наглость вписать 2 или того хуже 4 байтовую кодировку ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 23:33 |
|
Чудеса с кодировкой
|
|||
---|---|---|---|
#18+
asv79, Тут другой дефект. Если кодировка не совпадала - мы бы видели информационный шум. Но мы читаем большую часть нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2019, 08:18 |
|
|
start [/forum/topic.php?fid=59&fpage=23&tid=2121136]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
81ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 243ms |
total: | 434ms |
0 / 0 |