Я не могу получить данные в кодировке UTF-8 через HTTP-запрос GET на PowerShell.
Код:
$headers_tables=@{}
$headers_tables.Add("content-type", "application/xml; charset=utf-8")
$xml_employee_future_jobinfo = Invoke-WebRequest -Uri $url_employee_future_jobinfo -Method GET -Headers $headers_tables
Выход:
<?xml version="1.0"?>
<table>
<row id="2968" employeeId="839">
<field id="date">2022-11-28</field>
<field id="location">X</field>
<field id="department">D</field>
<field id="division">Infrastructure & IT</field>
<field id="jobTitle">Z</field>
<field id="reportsTo">X Poli??ski</field>
</row>
</table>
Если я открою эту ссылку API в браузере, я смогу увидеть XML, как и ожидалось, со специальными символами и акцентами.
Как мне решить эту проблему?
Заранее спасибо!
решение1
Это был найденный мной способ обработки XML, экспортирования его в файл и чтения в кодировке UTF-8:
$headers_tables=@{}
Invoke-WebRequest -Uri $url_employee_future_jobinfo -Method GET -Headers $headers_tables -OutFile "C:\Scripts\Power_Automate\xmldump_jobinfo.xml"
[xml]$xml_employee_future_jobinfo = get-content "C:\Scripts\Power_Automate\xmldump_jobinfo.xml" -Encoding "utf8"
Write-Host "XML: "
$xml_employee_future_jobinfo.table.row.field
Выход:
id #text
-- -----
date 2022-11-28
location X
department D
division Infrastructure & IT
jobTitle Z
reportsTo X Poliński