|
0 / 0 / 0
Регистрация: 17.10.2008
Сообщений: 506
|
||||||
Принятые Данные Из Вне - Крокозябры07.10.2014, 10:11. Показов 15453. Ответов 26
Метки нет (Все метки)
Всем привет!
Есть агент, на который постом отправляется xml документ, все отлично принимается, но русские буквы приходят вот в таком виде (вернее отображаются в сохраненном доке): ????????????? . кот агента:
Почему так отображаются русские символы, что можно сделать? Скрин открытого документа в форме:
0
|
||||||
| 07.10.2014, 10:11 | |
|
Ответы с готовыми решениями:
26
Отобразить в HEX принятые данные
COM port. Не корректно принятые данные |
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|
| 07.10.2014, 11:07 | |
|
Судя по всему либо клиент, либо сервер это воспринимает как Windows-1250
А сам файл нормально открывается?
0
|
|
|
0 / 0 / 0
Регистрация: 17.10.2008
Сообщений: 506
|
|
| 07.10.2014, 11:09 | |
|
в файл не сохранял, просто Documentcontext указал форму и сохранил. сейчас попробуй в файл сохранить содержимое поля REQUEST_CONTENT
0
|
|
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|
| 07.10.2014, 11:09 | |
|
Если есть желание "упороться" и написать свое, то Unicode encode-decode
0
|
|
|
0 / 0 / 0
Регистрация: 17.10.2008
Сообщений: 506
|
|
| 07.10.2014, 11:14 | |
|
записал содержимое в файл - вместо русских символов знаки вопроса
0
|
|
|
ty3uk
|
|
| 07.10.2014, 11:15 | |
|
блин, вроде подобное было, тока не помню как исправлял, толи жёстко менял кодировку на вебе (в настройках сайта), толи в хпагесах что-то делал. Не помню.
|
|
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|
| 07.10.2014, 11:21 | |
|
сохранение в файл - надо указывать кодировку, иначе (в виндятке) используется вин1251
юникод тоже бывает разный UTF-8 (этот в *nix), UTF-16 (этот юзает виндятко) ... если пытаться смотреть результат хмл из потока (в нотусне), без обработки (например через майм) - будут кракозябры (ибо оно хочет для платформы казать и пытается 1251)
0
|
|
|
0 / 0 / 0
Регистрация: 17.10.2008
Сообщений: 506
|
|
| 07.10.2014, 11:26 | |
|
в файл мне не надо сохранять, в дальнейшем сохранять вобще никуда не надо, нужно принять этот xml и обработать. сейчас сохраняю в нотесдок только для отладки
0
|
|
|
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 184
|
||||||
| 07.10.2014, 12:05 | ||||||
|
Делайте агент на Java, тогда проблем с кодировкой не будет.
А так через майм, например:
0
|
||||||
|
0 / 0 / 0
Регистрация: 17.10.2008
Сообщений: 506
|
|
| 07.10.2014, 12:27 | |
|
Serduko
с java таже история
0
|
|
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|
| 07.10.2014, 12:51 | |
|
dymat
Тогда опишите подробнее, как формируется xml? Указали что агент постом... и дали код, но там только сохранение, которое мало нам нужно. Как формируется XML текст?
0
|
|
|
0 / 0 / 0
Регистрация: 17.10.2008
Сообщений: 506
|
|
| 07.10.2014, 12:57 | |
|
savl
Да я бы сам хотел знать, но не знаю, пост ко мне отправляет сервер другой конторы. Даже не известно что за платформа отправляет, но точно не лотус
0
|
|
|
0 / 0 / 0
Регистрация: 17.10.2008
Сообщений: 506
|
|
| 07.10.2014, 13:10 | |
|
Могу попытаться узнать, что именно нужно у них спросить?
0
|
|
|
0 / 0 / 0
Регистрация: 14.01.2009
Сообщений: 257
|
|
| 07.10.2014, 13:33 | |
|
на сколько понимаю агент на сервере. А какая ОС на сервере? потому как обработка может вестись и с этой кодировкой. Если принять и тупо в ОС сохранить эту xml будут такие же крякозябли как и в документе или уже другие?
может чем-то поможет картинка по определению кодировки
0
|
|
|
0 / 0 / 0
Регистрация: 17.10.2008
Сообщений: 506
|
|
| 07.10.2014, 13:50 | |
|
erdi
Linux (debian), пробовал в файл сохранять - тоже самое, спасибо за картинку, попробую поределить
0
|
|
|
0 / 0 / 0
Регистрация: 17.10.2008
Сообщений: 506
|
|
| 07.10.2014, 15:10 | |
|
Post запрос шлется curlom из php
Вот кусок Код (PHP): $response = new DOMDocument("1.0","utf-8"); ... $ch = curl_init[/URL]($thys->__listener); $data = array[/URL]( guid => $guid, content => $response->saveXML() ); ... curl_setopt[/URL]($ch, CURLOPT_POSTFIELDS, $data); .... $result = curl_exec[/URL]($ch);
0
|
|
|
0 / 0 / 0
Регистрация: 15.03.2009
Сообщений: 615
|
||
| 07.10.2014, 15:54 | ||
Это нотусовый баг. Пришедший массив байт (в кодировке UTF) пишется в поле документа без перекодировки и в дальнейшем воспринимается как LMBCS. Т.е. строка "абра" приходит как "d0 b0 d0 b1 d1 80 d0 b0" и прямо так и кладется в поле. Т.к. notes хранит все в кодировке LMBCS, то при чтении данных из поля, данные байты декодятся в кракозябры. В случае, если бы строка "абра" писалась стандарными нотусовыми методами - она лежала бы в поле как "14 04 30 14 04 31 14 04 40 14 04 30" Вариантов решения несколько: - выдернуть значение поля сишным апи в виде массива байт, перекодировать их (utf -> lmbcs) и положить обратно. Это низкоуровневое кунг-фу - заставить клиента отправлять данные не в виде голого xml(application/xml), а по нотусовой форме (multipart-form-data). Это обчно не катит, т.к. ломает существующий протокол обмена. - переписать агента на XPage с использованием Servlet API. Это оптимальный выбор, если не нужна поддержка семерки.
0
|
||
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
||||||
| 07.10.2014, 16:35 | ||||||
|
turumbay разве mimeE.SetContentFromText(stream, {text/html;charset="UTF-8"}, ENC_NONE) не спасает?
типа:
0
|
||||||
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|
| 07.10.2014, 16:54 | |
|
ЗЫЖ я о перекодировке полученного, а не хранимого в поле
0
|
|
| 07.10.2014, 16:54 | |
|
Помогаю со студенческими работами здесь
20
Как логировать принятые данные? Сервер неверно обрабатывает принятые данные Принятые данные через ajax искажаются Как отобразить в окне Memo принятые данные по Com перенёс проект, теперь данные принятые по USART не сходятся Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|