Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 utf-8 to windows-1251  [new]
lgdmitry
Member

Откуда: Energodar
Сообщений: 48
Есть у меня такой запрос.
declare
  @requstBody varchar(8000) = '
    <?xml version="1.0" encoding="utf-8"?>
    <file>
        <auth></auth>
        <warenhouse/>
    </file>'
	,@url         varchar(512)    = 'http://orders.novaposhta.ua/xml.php' 
  ,@doc         nvarchar(max)
  ,@win int 
	,@hr  int 
  declare @res table (
	  html nvarchar(max)
  )
  EXEC @hr=sp_OACreate 'WinHttp.WinHttpRequest.5.1',@win OUT 
  IF @hr <> 0 EXEC sp_OAGetErrorInfo @win 

  EXEC @hr=sp_OAMethod @win, 'Open',NULL,'POST',@url,'false'
  IF @hr <> 0 EXEC sp_OAGetErrorInfo @win 

  EXEC @hr=sp_OAMethod @win,'Send', NULL, @requstBody
  IF @hr <> 0 EXEC sp_OAGetErrorInfo @win 

  insert into @res (html)
  EXEC @hr=sp_OAGetProperty @win,'ResponseText'
  IF @hr <> 0 EXEC sp_OAGetErrorInfo @win

  EXEC @hr=sp_OADestroy @win 
  IF @hr <> 0 EXEC sp_OAGetErrorInfo @win 
  	
  select doc = html from @res	  


В результате получаю такой не красивый ответ
<?xml version="1.0" encoding="UTF-8"?>
<response><responseCode>200</responseCode><result><whs><warenhouse><city_ref>db5c88f0-391c-11dd-90d9-001a92567626</city_ref><city_id>1</city_id><city>Дніпропетровськ</city><cityRu>Днепропетро

явно делаю что то не так

как можно перевести utf-8 в windows-1251

может использовать другой объект, а не WinHttp.WinHttpRequest.5.1? Который умеет конвертировать кодировку

Буду благодарен в любой помощи. За ранее спасибо
3 мар 14, 20:02    [15665460]     Ответить | Цитировать Сообщить модератору
 Re: utf-8 to windows-1251  [new]
Glory
Member

Откуда:
Сообщений: 104751
Вам уже показывали, как конвертировать строку в utf-8
Что мешает написать обратное конвертирование ?
3 мар 14, 23:52    [15666547]     Ответить | Цитировать Сообщить модератору
 Re: utf-8 to windows-1251  [new]
lgdmitry
Member

Откуда: Energodar
Сообщений: 48
Glory,

не совсем понимаю как конвертировать такую строку

Дніпропетровськ
4 мар 14, 11:59    [15668421]     Ответить | Цитировать Сообщить модератору
 Re: utf-8 to windows-1251  [new]
Glory
Member

Откуда:
Сообщений: 104751
lgdmitry
не совсем понимаю как конвертировать такую строку

Заменить каждый символ одной кодировки на символ в другой кодировке.
4 мар 14, 12:01    [15668444]     Ответить | Цитировать Сообщить модератору
 Re: utf-8 to windows-1251  [new]
lgdmitry
Member

Откуда: Energodar
Сообщений: 48
Glory,

ну и как это сделать ?
4 мар 14, 13:34    [15669390]     Ответить | Цитировать Сообщить модератору
 Re: utf-8 to windows-1251  [new]
Glory
Member

Откуда:
Сообщений: 104751
lgdmitry
Glory,

ну и как это сделать ?

Так, как вам это уже предлагали в другой вашей теме
4 мар 14, 13:35    [15669397]     Ответить | Цитировать Сообщить модератору
 Re: utf-8 to windows-1251  [new]
lgdmitry
Member

Откуда: Energodar
Сообщений: 48
Glory,

можете пример дать или будете дальше футболом заниматься ?

в прошлый раз у меня была такая строка \u041f\u043b\u0430\u043d\u043e\u0432\u0430\u044f
а сейчас не понятно что
4 мар 14, 15:04    [15670118]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить