Ich habe eine Website mit JSON darauf. JSON ist in UTF-8-Zeichensatz (wie in RFC)Powershell, JSON und UTF8 mit Cyrrylic-Problemen
Web-Server Antwort: Content-Type: application/json; charset = utf-8
ich es konvertieren müssen und SCOM-Agent zu senden. Alles ist in Ordnung, außer dass die Powershell jedes kyrillische Symbol auf '?'
$api = New-Object -comObject 'MOM.ScriptAPI'
$discoveryData = $api.CreateDiscoveryData(0, $sourceId, $managedEntityId)
$browser = New-Object System.Net.WebClient
$browser.Proxy.Credentials =[System.Net.CredentialCache]::DefaultNetworkCredentials
$rowdata = Invoke-WebRequest 'https://monitoring.net/monitoring.json' -UseBasicParsing
$jsondata = ConvertFrom-Json $rowdata
foreach ($urls in $jsondata.monitors)
{
$instance = $discoveryData.CreateClassInstance("$MPElement[Name='58MCLibrary!F.058MC.Json.Url.Class']$")
$instance.AddProperty("$MPElement[Name='058MCLibrary!058MC.Json.Url.Class']/Name$", $urls.name)
$instance.AddProperty("$MPElement[Name='58MCLibrary!058MC.Json.Url.Class']/Resource$", $urls.resource)
$instance.AddProperty("$MPElement[Name='058MCLibrary!058MC.Json.Url.Class']/Description$", $urls.description)
$discoveryData.AddInstance($instance)
}
$discoveryData
Geschichte ist, dass $ urls.name und $ urls.resource sind ok - kein cyrrylic darin
Aber urls.description $ aussieht Beschreibung ???????????? ??, ?????????????????? ?????????? ?????????????? ?????????? ????????????????????
Irgendein Weg, es zu beheben? Ich habe versucht Standard-env-Codepage mit .NET auf UTF8 zu setzen - ohne Änderungen ...
Es ist sehr seltsam Codepage Probleme in PS ...
Wenn Sie gerade tun '$ urls.description | Add-Content test.txt -Encoding UTF8' ruiniert es die Testdatei? – TessellatingHeckler
Ja, alle gleich –
"Ich habe versucht, Standard env Codepage mit .NET zu utf8 - keine Änderungen ..." Welche Befehle haben Sie dafür verwendet? Könnten Sie bitte eine kurze Liste bereitstellen? –