powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Кракозябры при передаче xml сервису
3 сообщений из 3, страница 1 из 1
Кракозябры при передаче xml сервису
    #39274940
arCHi_1887
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть java-сервис, принимающий на вход xml.

XML из оракла отправляю следующим образом:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
declare
  soap_text varchar2(32767);
  http_req  utl_http.req;
  http_resp utl_http.resp;
  env CLOB;
begin
  soap_text:=convert('<soapenv:Envelope xmlns:soapenv=<...></soapenv:Envelope>', 'UTF8');
  url:='http://<myUrl.com>';
  http_req:= utl_http.begin_request(url, 'POST','HTTP/1.1');
  utl_http.set_body_charset(http_req, 'utf-8');
  utl_http.set_header(http_req, 'Content-Length', LENGTHB(soap_text));
  utl_http.write_text(http_req, soap_text);
  http_resp := utl_http.get_response(http_req);
  utl_http.read_text(http_resp, env);
  utl_http.end_response(http_resp);
end;



В итоге русские буквы в значениях тегов сервис распознает как кракозябры. Как исправить?
...
Рейтинг: 0 / 0
Кракозябры при передаче xml сервису
    #39274942
arCHi_1887
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если что,
NLS_CHARACTERSET = CL8MSWIN1251
...
Рейтинг: 0 / 0
Кракозябры при передаче xml сервису
    #39275037
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arCHi_1887
Код: plsql
1.
2.
3.
4.
5.
...
  soap_text:=convert('<soapenv:Envelope xmlns:soapenv=<...></soapenv:Envelope>', 'UTF8');
...
  utl_http.write_text(http_req, soap_text);
...


Database PL/SQL Packages and Types Reference
UTL_HTTP WRITE_TEXT Procedure
This procedure writes some text data in the HTTP request body. As soon as some data is sent as the HTTP request body, the HTTP request headers section is completed. Text data is automatically converted from the database character set to the request body character set .
...
When either one of the two character sets is a multibyte character set, the precise byte-length of the request body in the request body character set cannot be known beforehand. In this case, you can perform the character set conversion explicitly, determine the byte-length of the results, send the Content-Length header, and the results using the WRITE_RAW procedure to avoid the automatic character set conversion Я так понимаю, либо трусы одень, либо крестик сними...
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Кракозябры при передаче xml сервису
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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