powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Чудеса с кодировкой
44 сообщений из 44, показаны все 2 страниц
Чудеса с кодировкой
    #39857407
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 все возвращают нормально, в читабельном виде. И только у клиента такая фигня.
Может кто-то сталкивался с таким или есть мысли, что это может быть?
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857427
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 заголовок Ничего путного сходу не нагуглил
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857432
alexanderer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vas0,

Строка со знаками вопроса - это из логов клиента.
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857441
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
похоже на неправильное восстановление текста из кодировки (utf-8) при буфферезированом чтении

например передаем строку АБВ-ГДЕ
в байтах это


Код: java
1.
2.
А    Б    В    -  Г    Д    Е
D090 D091 D092 2D D093 D094 D095



на кириллицу - 2 байта на аски - 1 байт

допустим буффер чтения 8 байт

считываем байты до половины буквы Г (только первый байт) и если это преобразовать в строку, то получим

Код: java
1.
АБВ-?


затем следующую часть начиная со второго байта с преобразованием к строке
Код: java
1.
?ДЕ




Вот и получится
Код: java
1.
АБВ-??ДЕ
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857443
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexanderer,
"у себя" работает. "у клиента" не работает.
Кто сравнивать будет?
Пушкин?
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857450
alexanderer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dmitry.,

А есть метод, как с этим бороться?
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857457
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexandererDmitry.,

А есть метод, как с этим бороться?есть.
Подать на вход заранее известный "" мама мыла раму". Потом логировать до места поломки.
Потом патчить.
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857520
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexanderervas0,

Строка со знаками вопроса - это из логов клиента.
Здесь - уравнение со множеством неизвестных. Почему в логах вопросики? Либо реально зашли символы "?".
Либо система логгирования просто не в состоянии формировать символы с кодами старше 127.

Провертье это.
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857526
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поскольку русские пуковки в логе есть, то гипотеза "вообще не умеет" - вообще не состоятельна.
А вот "неправильное декодирование" - более чем вероятно. Но, в этом случае, открывается широкое поле для разбрасывания разных граблей.
Какие конкретно грабли разложены у автора? "Гипотез не измышляю".
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857533
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmirii предложил хорошую рабочую версию о буферизации utf-8.
Надо ее как-то проверить. Как вариант - она должна циклически
проявлятся в испорченном символе с постоянным периодом.

Афтор можешь проверить? Если версия верна - то дальше сложнее.
Надо искать код где идет самопальная процедура конверсии.
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857538
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
афтар ты чо не учил кодировки?
если у тебя ?? значит проблема в кодировке
выясняй в чем отправляете ,в чем принимаете
проблем однозначно в этом ,что где то у вас на пути одного сервиса к другому прописаны разные кодировки
если не хочешь это лечить
отправляй байт массив с нужной кодировкой и далее на выходе делай с ним что душе угодно
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857545
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,

ты опять лезешь не по делу - тут кодировка дело второе. в строке и русские и англицкие и большие и малые и цифры.
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857550
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя, да чего. Пускай идёт разведка боем. Чем больше вопросов зададут ТС-у тем лучше.

Не спугнуть бы его только. ТС-а...
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857552
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonвадя, да чего. Пускай идёт разведка боем. Чем больше вопросов зададут ТС-у тем лучше.да проблемка интересная

maytonНе спугнуть бы его только. ТС-а...asv79 старается это сделать
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857553
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяasv79,

ты опять лезешь не по делу - тут кодировка дело второе. в строке и русские и англицкие и большие и малые и цифры.
вадя если ты не в курсе то все англ буквы умещаются в аски и в любой кодироке они прочитаюся правильно
проблема в русских буквах и в том что где то наверняка стоит utf-8 а где то по умолчанию ср -123123 какой нить
поэтому часть и не читаема
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857556
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема интересная. И ТС судя по дате регистрации, не новичок. Большая вероятность что "коллективный разум" не сможет помочь.

Очень интересно в чем трабла. ТС отпишись если не трудно, чем дело кончилось.
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857561
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В фразе "Перевод собственных средс??в" испорчена русская буква т с кодом 0x0442 по Unicode.
Если это так - то для двух вопросительных знаков бинарном представлении мы должны увидеть
глазками эти коды в наложении на маску 110xxxxx 10xxxxxx далее - сбой декодера UTF-8
где второй байт обрезан. А потом сбой декодера на старте где приходит хвостик буквы т
но воспринимается декдером некорректно т.к. стартовая маска неожиданно стала 10***
вместо ожидаемой 110***. Вобщем все это так... поток моих мыслей. Как оно на самом
деле - ХЗ. Кодировку действительно можно сломать дважды в двух местах и получить
ошибку Шрёдингера.
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857567
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
глазастый
alexandererТ.е. не все символы не читаемые, а какой то единственный. Причем, когда тестирую у себя через соапуй, то и ВС1 и ВС2 все возвращают нормально, в читабельном виде. И только у клиента такая фигня.есть подозрение на качество сети....
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857585
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79вадя если ты не в курсе то все англ буквы умещаются в аски и в любой кодироке они прочитаюся правильноОсобенно правильно они прочитаются в UTF-16/UTF-32. Для простоты - будучи порезаны на кусочки нечётного размера.
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857592
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovasv79вадя если ты не в курсе то все англ буквы умещаются в аски и в любой кодироке они прочитаюся правильноОсобенно правильно они прочитаются в UTF-16/UTF-32. Для простоты - будучи порезаны на кусочки нечётного размера.
если мне память не изменяет то все 128 инглишь символов коректно читаются в любой уникод кодировке)
проверять не буду)
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857593
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79Basil A. Sidorovпропущено...
Особенно правильно они прочитаются в UTF-16/UTF-32. Для простоты - будучи порезаны на кусочки нечётного размера.
если мне память не изменяет то все 128 инглишь символов коректно читаются в любой уникод кодировке)
проверять не буду)
Зря )
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857595
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никasv79пропущено...

если мне память не изменяет то все 128 инглишь символов коректно читаются в любой уникод кодировке)
проверять не буду)
Зря )
проверил ,разное getByte возращает)
вот так и верь российской прессе)
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857596
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проверил еще раз ,все таки книга не врет)
все кодировки возвращают 97 на английское а)
кроме 2 байтовых
значит проблема аффтара сей темы сузилась до поиска где он имел наглость вписать 2 или того хуже 4 байтовую кодировку
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857687
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,

Тут другой дефект. Если кодировка не совпадала - мы бы видели информационный шум.

Но мы читаем большую часть нормально.
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857691
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Будет анекдот если там на входе вопросы идут.
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857699
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Он же говорит что когда тестит на soapui все норм.
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857705
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonОн же говорит что когда тестит на soapui все норм.дык там тестят вводя СВОИ данные))
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857710
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexandererкогда тестирую у себя через соапуй, то и ВС1 и ВС2 все возвращают нормально, в читабельном виде. И только у клиента такая фигня.
Вот разницу "у себя под кроватью" и у заказчика ТС должен дать.
Прежде чем ванговать тут что то.
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857809
alexanderer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я склоняюсь к тому, что Dmitry. прав.
Проблема в том, что т.к. мы меняли вебсервис и после этого проблемы у клиента, то это проблемы на нашей стороне и менять на клиенте никто ничего не будет.
Такой вопрос, есть ли возможность принудительно заставить вебсервис отсылать данные в виде HTML-Entities?

Код: powershell
1.
2.
GND=&quot;&#1055;&#1077;&#1088;&#1077;&#1074;&#1086;&#1076; &#1089;&#1086;&#1073;&#1089;&#1090;&#1074;&#1077;&#1085;&#1085;&#1099;&#1093; &#1089;&#1088;&#1077;&#1076;&#1089;&#1090;&#1074;&quot; 
             П      е      р      е      в      о      д       с      о      б      с      т      в      е      н      н       ы     х       с      р      е      д      с      т       в
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857844
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexandererзаставить вебсервистип веб сервиса?
Так как по умолчанию под ним понимают SOAP.
А в нем руками не кодируют. Это нижний уровень сервиса.
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857847
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexandererТеперь сделали новый вебсервис ВС2допустим вы воткнули свой сервис и "сломали".
Один черт нужно его дебажить и найти место ошибки.
Или не программист?
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857851
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexanderer,
То есть место ошибки не нашли и думаете что он прав? Так?
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857893
alexanderer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharpalexandererзаставить вебсервистип веб сервиса?
Так как по умолчанию под ним понимают SOAP.
А в нем руками не кодируют. Это нижний уровень сервиса.

Да, но я могу перехватить ответ от ВС1 и конвертировать его.
Если смотреть в соапуе RAW хмл от старого вебсервиса, то он как раз строку представляет в виде:
GND="Перевод с

RAW хмл от нового вебсервиса идет уже в виде текста. Поэтому, сейчас, вижу только один способ - перехватить и конвертировать в хтмл-символы.
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857895
alexanderer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: php
1.
GND=&quot;&#1055;&#1077;&#1088;&#1077;&#1074;&#1086;&#1076; &#1089;


В таком виде старый сервис.
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857900
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexandererRAWкак бы работать с сырыми данными это моветон.
Зачем?
Прлучается что вы влезли своим сервиом в качестве тупого прокси и все сломали.
А по нормаоьному не надо с RAW работать.
Как то так.
А если по сервису фотки идут? По 300 мегов.
Это ведь тормоза.
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857902
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexandererперехватить и конвертировать в хтмл-символы.тормоза будут
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857909
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример веб сервиса
21942962
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857937
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharpalexandererперехватить и конвертировать в хтмл-символы.тормоза будут
Не будут. Встроенные функции URL-енкодинга достаточно быстры. Кроме
того эти вычисления не составляют 100% всей нагрузки.
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857967
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Ручаетесь?
А если начальник скажет приаттачить фотки?
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857971
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте обсуждать дефект который описал автор.
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857975
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДавайте обсуждать дефект который описал автор.обсуждайте.
Только что там обсуждать если сервис они сами написали?
Ну пусть кодирует хоть в base64.
Нет проблем.
И вопроса нет.
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857986
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Характер дефекта не связан с кодировкой. Он - ближе к нарушению api кодирования. Поэтому бери хоть base64 хоть base85. Сломанный padding может воспроизводится. Надо не байт-блоками читать. А char блоками.
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39857995
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНадо не байт-блоками читать. А char блоками.он же код не приводит.
Там может вообще галку надо поставить в конфиге soap.
Не верю что они там побайтово читают и сами encode/decode делают.
Смешно.
...
Рейтинг: 0 / 0
Чудеса с кодировкой
    #39858114
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У афтора - бутерброд из трех систем. Клиент. ВС1 и ВС2. Честно очень сложно разбираться в причинах что
там чего где происходит потому как картина происходящего есть только в голове автора. Логов мы не видели.
Разумно будет снимать дампы tcpdump/wireshark сопоставлять это с логами и сверять как минимум в двух
точках взаимодействия Клиент-ВС1 и ВС1-ВС2.
...
Рейтинг: 0 / 0
44 сообщений из 44, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Чудеса с кодировкой
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]