10

Invoke-WebRequest を使用して特殊文字 (ノルウェー語) を ASP .NET MVC4 API コントローラーに送信しようとしています。

私の問題は、json データに Æ Ø Å のような文字が含まれている場合、コントローラーが受信したときに json オブジェクトが NULL として表示されることです。

私のコードの例:

$text = 'Æ Ø Å'
$jsondata = $text | ConvertTo-Json
Invoke-WebRequest -Method POST -Uri http://contoso.com/create -ContentType 'application/json; charset=utf8' -Body $jsondata

また、フィドラーを見ると、通常の奇妙なutf8ボックスのように文字が表示されます。

フィドラーから同じ API コントローラーへの json データの送信は正常に機能します

何かアドバイス?

4

1 に答える 1

31

Bodyパラメータについては、これを試してください:

... -Body ([System.Text.Encoding]::UTF8.GetBytes($jsondata))

PowerShell の文字列は Unicode ですが、UTF8 エンコーディングを指定したため、UTF8 に到達するための手助けが必要だと思います。

于 2013-03-08T17:04:39.213 に答える